汇编语言 计算ffff:0006单元中的数乘以3,结果存在dx中
容易混淆
ffff:0~ffff:b内存单元是字节型数据
字节型数据,数据范围0~~255,无论什么数据,一个内存单元占1字节,8位,转换成十六进制是ff
寄存器16位
题目要求
分析:ffff:0006单元中是一个字节型数据,范围在0~255之间,则用它乘以3,结果不会大于65535,也就是在dx中可以放下,不会溢出
运行结果
ffff:0006单元中的数是什么?31h
所以正确的答案应该是31h*3h = 93h 吧
代码
不知道对不对
;计算ffff:0006单元中的数乘以3,结果存在dx中
assume cs:code
code segment
;数据段ffff
mov ax, 0ffffh
mov ds, ax
;0006偏移地址bx
mov bx, 6h
;ffff:0006单元中的数放进ax中
mov al, [bx]
;mov ah, 0 ;这里要把高位清零吗?
;ax中的数乘以3
add dx, ax
add dx, ax
add dx, ax
mov ax,4c00h
int 21h
code ends
end