跪求高手帮忙解读一下这道微机原理的程序,谢谢

跪求高手帮忙解读一下这道微机原理的程序,谢谢,第1张

题中,TA1首地址为0,空间分配为字的形式,高字节对祥裤应高地址,低地址对应低字节,0006号地址对应02H,0007号地址高慎对应03H.

MOV BX,DS:[0006H]BX=0302H

AND BX,0FFHBX=0002H

OR BH,[BX]BH=04H,因为0002地址对应的内容为戚宴敬04H,04H与00相或,不变

求BX的值=0402H

这是一段86汇编程序,其功能是通过系统调用从键盘获取一个输入岁历码字符,再通过系统调用将该字符烂缺输出显示。程序注释如下:

MOV AX, 2000H 16进制2000送AX寄存器

MOV DS,AXAX寄存器内容送DS寄存器

以上两指令将数据段寄存器DS设为2000H

MOV AH,1系统功能号乎哪 1 送AH寄存器

INT 21H 启动系统调用

以上两指令实现读键盘,输入值在AL寄存器

MOV [100H],AL 输入值存入DS段100H位置

MOⅤ DL,[100H] DS段100H单元内容送DL

以上两指令将要输出显示字符送DL寄存器。

MOV AH,2系统功能号 2 送AH寄存器

INT 21H 启动系统调用

以上两指令将DL寄存器内容输出显示。

TAB DB 1,2,3,4,5,6,7,8

ENTRY EQU 4 定义常量,entry为4

MOV BX,FOOSET TABtab的首偏移地址放到bx中,此时,bx指向tab中的第一个,即“1”

ADD BX,ENTRYbx加4,此时指向tab中的坦悉第五个让运乎,即‘5’

MOV AX,[BX] ax为一个字,所以把tab中的第五个和第六个悄灶放到ax中,即把 6(即06h)放到ah中,5(即05h)放到al中(高位在下,低位在上)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12253723.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存