关于寄存器存放数据。

来源:百度知道 编辑:UC知道 时间:2024/07/01 05:43:01
一个寄存器最大只能存放65536的数
但是如果我要存放超过65536的数。

是不要告诉我,必须把数据化成16进制,再存放,那样做会很麻烦啊。
要不要告诉我直接定义数据。
应该还有一个比较方便的办法可以做的吧~~求各位大哥的解答。小弟感激啊~~
例如:2542103.放在寄存器里面~~该怎么做????
其他我都看懂了~·就是这一句没看明白(lea si,num)
大哥能做点解释吗????

这个编译过程是由编译器完成的吧?(十进制变十六进制)

;无符号数,一个寄存器最大只能存放65535D=0FFFFH
;2542103放在寄存器里面,先定义为双字,再存放到寄存器.
;

data segment
num dd 2542103
data ends

code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
lea si,num ;取数据首址=mov si,offset num
mov ax,[si];AX←低位:0CA17H
mov dx,[si+2];DX←高位:0026H
mov ah,4ch
int 21h

code ends
end start

将num的地址送给si寄存器,也就是num数组的首地址