将内存2000:0 2000:1 2000:2 2000:3内存单元中的数据送入al bl cl dl 中
- 在Debug中编程,默认输入的是 十六进制数 2000H
mov ax,2000
mov ds,ax
mov al,[0]
mov bl,[1]
mov cl,[2]
mov dl,[3]
- 汇编源程序实现,要写清楚进制,十六进制后面加上 H 符号
assume cs:code
code segment
mov ax,2000H
mov ds,ax
mov al,[0]
mov bl,[1]
mov cl,[2]
mov dl,[3]
mov ax,4c00H
int 21H
code ends
end
U命令展示汇编指令
-
masm
会把 [idata]
理解成 idata
-
masm
会把 mov al,[0]
理解成 mov al,0
,即 (al) = 0
汇编源程序 .asm
文件中以下指令的含义
-
mov al,[0]
,含义 (al)=0
-
mov al,ds:[0]
,含义 (al)=((ds)*16+0)
-
mov al,[bx]
,含义 (al)=((ds)*16+(bx))
-
mov al,ds:[bx]
,含义 mov al,[bx]
将内存单元 2000:0 数据送入 al寄存器 在 汇编源代码.asm 里面可以这么写
mov ax,2000H
mov ds,ax
mov bx,0
mov al,[bx]
- 方法二,把
段寄存器ds
写在前面,显式给出段地址
mov ax,2000H
mov ds,ax
mov al,ds:[0]