缺点 1.编程效率低(与人们描述计算过程的需要差距大) 2.与机器硬件的具体结构联系过于紧密 -在一种结构的机器上开发的程序极难移植 到另一种不同结构的机器上去
• 缺点: 1. 编程效率低(与人们描述计算过程的需要差距大) 2. 与机器硬件的具体结构联系过于紧密 ——在一种结构的机器上开发的程序极难移植 到另一种不同结构的机器上去
示例程序 DATA SEGMENT 数据段 NUM DV0011101000000111B NoTES DB 'The result is: ,'s DATA ENDS CODE SEGMENT 代码段 ASSUME CS: CODEDS: DATA BEGIN MOV AX DATA MOV DS.AX MOV DXOFFSET NOTES;显示提示信息 MOV AH 9H INT 21H MOV BX.NUM ;将数装入BX MOV CH,4 CH作循环计数器
DATA SEGMENT ;数据段 NUM DW 0011101000000111B NOTES DB ‘The result is :’ , ’$’ DATA ENDS CODE SEGMENT ;代码段 ASSUME CS:CODE,DS:DATA BEGIN: MOV AX, DATA MOV DS,AX MOV DX,OFFSET NOTES ;显示提示信息 MOV AH,9H INT 21H MOV BX,NUM ;将数装入BX MOV CH,4 ;CH作循环计数器 示例程序
示例程序(续) ROTATE DISPLAY: MOV CL,4;CL中放移位位数 MOV DL,AL;显示16 进制数 ROL BX. CL MOV AH. MOV ALBL INT 21H AND AL,0FH;AL中为一位16进制数 DEC CH ADD AL,30H;转换为ASC‖码值 JNZ ROTATE CMP AL,93;是0~9的数码? MOV AX,4C00H;返回 DOS 儿LED| SPLAY INT 21H ADD AL,07H;在A~F之间 CODE ENDS;代码段 结束 END BEGIN;模块 结束
ROTATE : DISPLAY: MOV CL, 4 ;CL中放移位位数 MOV DL, AL ;显示16 进制数 ROL BX,CL MOV AH,2 MOV AL,BL INT 21H AND AL,0FH ;AL中为一位16进制数 DEC CH ADD AL,30H ;转换为ASCII码值 JNZ ROTATE CMP AL,’9’ ;是0~9的数码? MOV AX,4C00H;返回 DOS JLE DISPLAY INT 21H ADD AL,07H ;在A~F之间 CODE ENDS ;代码段 结束 END BEGIN ;模块 结束 示例程序(续)
堆栈段定义格式 STACK SEGMENT STACK STA DB 50 DUP(? TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS: CODE DS: DATA. SS: STACK START: MOV AX. DATA MOV DS.AX MOV AXSTACK MOV SS, AX MOV SP TOP CODE ENDS END START
堆栈段定义格式 STACK SEGMENT STACK STA DB 50 DUP (?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS, AX MOV SP,TOP : CODE ENDS END START
51汇编语言源程序的组成 1.伪指令语句和指令语句 ·汇编语言源程序中除了包含机器指令外,还应包 含说明性的“指令”。这些说明性的“指令”是面向汇 编程序和连接程序的,称为伪指令, 宏汇编程序5.0版(MASM5.0)规定,汇编语言源 程序的每行只能写一个语句:指令语句或伪指令 语句。行长不能超过128个字符。每个语句最多 可由四个字段组成:名字字段、操作字段、操作 数字段和注释字段
5.1 汇编语言源程序的组成 1. 伪指令语句和指令语句 • 汇编语言源程序中除了包含机器指令外,还应包 含说明性的“指令”。这些说明性的“指令”是面向汇 编程序和连接程序的,称为伪指令。 • 宏汇编程序5.0版(MASM V5.0)规定,汇编语言源 程序的每行只能写一个语句: 指令语句或伪指令 语句。行长不能超过128个字符。每个语句最多 可由四个字段组成: 名字字段、操作字段、操作 数字段和注释字段