汇编语言3讲解.ppt
文本预览下载声明
第 3 章;硬指令和伪指令;3.1 语句格式; MOV CX,0 ;传送指令,具有2个操作数
DELAY: NOP
;空操作指令,没有操作数,带有标号
LOOP DELAY
;循环指令,标号DELAY说明转移位置
BUFFER DB 1,2,3,4,5,6,7
;数据定义伪指令,在主存中开辟7个连续的字节单元,初值依次为1~7,BUFFER表示首地址;标号、名字与标识符;保留字;3.2 参数、变量和标号;变量定义伪指令;变量名;初值表;变量定义伪指令助记符;定义字节单元伪指令DB;data segment ;数据段
X db a,-5
db 2 dup(100),?
Y db ABC
data ends;mov al,X
;此处X表示它的第1个数据,故AL←a
dec X+1
;对X为始的第2个数据减1,故成为-6
mov Y,al
;现在Y这个字符串成为 aBC;定义字单元伪指令DW;data segment ;数据段
count dw 8000h,?,AB
maxint equ 64h
number dw maxint
array dw maxint dup(0)
data ends;字变量和字常量的定义:
WNUM EQU 5678H ;定义WNUM为常量
COUNT DW 20H
;定义COUNT变量,假设在数据段的偏移地址为10H
字变量和字常量的应用:
MOV AX,[BX+SI+WNUM] ; MOV AX,[BX+SI+5678H]
MOV AX,COUNT ; MOV AX,[0010H]
MOV AX,[SI+COUNT] ; MOV AX,COUNT[SI]
; MOV AX,[SI+10H]
LEA BX,COUNT ; LEA BX,[0010H]
MOV BX,OFFSET COUNT ; MOV BX,0010H;定义双字单元伪指令DD;其他数据单元定义伪指令;定位伪指令;操作数与参数;注释;分隔符;汇编语言源程序的组成原则;汇编语言源程序;;lt301b.asm(文件名)
stack segment stack ;定义堆栈段
dw 512 dup(?)
;堆栈段有512字(1024字节)空间
stack ends ;堆栈段结束
data segment ;定义数据段
string db ’Hello, Everybody !’,0dh,0ah,’$’
data ends
code segment ’code’ ;定义代码段
assume cs:code,ds:data,ss:stack
start: mov ax,data ;建立DS段地址
mov ds,ax; mov dx,offset string
mov ah,9
int 21h
mov ax,4c00h
int 21h ;利用功能调用返回DOS
code ends ;代码段结束
end start
;汇编结束,同时指明程序起始点;;SampleB.ASM
stack segment stack
dw 512 dup(?)
stack ends
data segment
... ;在数据段定义数据
data ends
code segment ’code’
assume cs:code,ds:data,ss:stack
start: mov ax,data
mov ds,ax
... ;在代码段填入指令序列
mov ax,4c00h
int 21h
... ;子程序代码
code ends
end start;汇编语言程序的开发过程;开发过程1:源程序的编辑;开发过程2:源程序的汇编;开发过程3:目标模块的连接;汇编和连接的依次自动实现;开发过程4:可执行程序的调试;数值表达式;运算符;算术运算符;逻辑运算符;移位运算符;关系运算符;高低分离符;操作符的优先级;Take a Break
显示全部