8种通用寄存器
AX,BX,CX,DX,SI,DI,SP,BP
4种段寄存器
CS,DS,ES,SS
通用寄存器与段寄存器可以相互附值
通用寄存器之间可以相互附值
字单元:即存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。
任意时刻,SS:SP指向栈顶元素。
程序返回:
mov ax, 4c00h
int 21h
loop是汇编指令
在汇编语言中,标号代表一个地址.
在汇编源程序中,数据不能以字母开头,要在前面加上0。比如9138h在汇编源程序中可以直接写为“9138h”,而A000h在汇编源程序中要写为“0A000h”。
在汇编源程序中,若用内存直接寻址方式,则需要显式写出段前缀。mov ax, ds:[idata]
我们在汇编源程序中,如果用指令访问一个内存单元,则在指令中必须用[...]来表示内在单元,如果在[]里用一个常量idata直接给出内存单元的偏移地址,就要在[]前面显式地给出段地址所在的段寄存器。
AX,BX,CX,DX,SI,DI,SP,BP
4种段寄存器
CS,DS,ES,SS
通用寄存器与段寄存器可以相互附值
通用寄存器之间可以相互附值
字单元:即存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。
任意时刻,SS:SP指向栈顶元素。
程序返回:
mov ax, 4c00h
int 21h
loop是汇编指令
在汇编语言中,标号代表一个地址.
在汇编源程序中,数据不能以字母开头,要在前面加上0。比如9138h在汇编源程序中可以直接写为“9138h”,而A000h在汇编源程序中要写为“0A000h”。
在汇编源程序中,若用内存直接寻址方式,则需要显式写出段前缀。mov ax, ds:[idata]
我们在汇编源程序中,如果用指令访问一个内存单元,则在指令中必须用[...]来表示内在单元,如果在[]里用一个常量idata直接给出内存单元的偏移地址,就要在[]前面显式地给出段地址所在的段寄存器。
12h * 34h :
assume cs:codes
codes segment
start: mov ax, 34h
mov dx, 0
mov cx,12h
s: add dx, ax
loop s
mov ax,4c00h
int 21h
codes ends
end start