汇编程序问题
V1DB3,2V2DW3367H,3598HMOVAL,V1MOVBX,V2+1SUBBL,ALINT3AL=3,BX=?怎么计算的?...
V1 DB 3,2
V2 DW 3367H,3598H
MOV AL,V1
MOV BX,V2+1
SUB BL,AL
INT 3
AL=3,BX=?
怎么计算的? 展开
V2 DW 3367H,3598H
MOV AL,V1
MOV BX,V2+1
SUB BL,AL
INT 3
AL=3,BX=?
怎么计算的? 展开
1个回答
展开全部
答: BX=9830H
V2变量定义了两个字,第一个是3367H,第二个是3598H
内存中这两个字占用4个字节:
V2 67H (第一个字的低位字节)
V2+1 33H (第一个字的高位字节)
V2+2 98H (第二个字的低位字节)
V2+3 35H (第二个字的高位字节)
MOV AL, V1
这个不用多解释吧?
执行后AL = 03H
MOV BX, V2+1
这是从V2+1地址取一个字。
这个字的低位字节在V2+1 = 33H, 高位字节在V2+2 = 98H.
所以,指令执行后,BX= 9833H
SUB BL, AL
将BL 中的33H减去 AL中的03H,BL中内容变为30H
考虑BH中仍为98H,所以,BX = 9830H
V2变量定义了两个字,第一个是3367H,第二个是3598H
内存中这两个字占用4个字节:
V2 67H (第一个字的低位字节)
V2+1 33H (第一个字的高位字节)
V2+2 98H (第二个字的低位字节)
V2+3 35H (第二个字的高位字节)
MOV AL, V1
这个不用多解释吧?
执行后AL = 03H
MOV BX, V2+1
这是从V2+1地址取一个字。
这个字的低位字节在V2+1 = 33H, 高位字节在V2+2 = 98H.
所以,指令执行后,BX= 9833H
SUB BL, AL
将BL 中的33H减去 AL中的03H,BL中内容变为30H
考虑BH中仍为98H,所以,BX = 9830H
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询