STACK SEGMENT ;堆栈段定义开始 DB 256 DUP(S" TOP EQU S-STACK STACK ENDS ;堆栈段定义结束 ca72272:kk;:;k;κk火;κ六κκk火:κ六κ六 CODE SEGMENT ;代码段定义开始 ASSUME CS: CODE. DS: DATA. SS: STACK START:MOⅤAX,DATA ;主程序开始
;************************************************* STACK SEGMENT ; 堆栈段定义开始 DB 256 DUP('S') TOP EQU $-STACK 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 MOV BX. OFFSETASC MOV AL. HEX MOV AH.AL MOV CL. 4 SHR AL. CL CALL NEAR PTR CONVERT HILT ;主程序结束
MOV DS, AX MOV AX, STACK MOV SS, AX MOV SP, TOP MOV BX, OFFSET ASC MOV AL, HEX MOV AH, AL MOV CL, 4 SHR AL, CL CALL NEAR PTR CONVERT … HLT ; 主程序结束
CONVERT PROC ;过程(子程序)定义开始 AND AL.OFH CMPAL. 10 JB NUM ADd AL. NUM: ADD AL.'O RET CONVERT ENDP ;过程(子程序)定义结束 CODE ENDS ;代码段定义结束 zkk;kk☆k六:κk:κk:κk;κk;κk;κk六:六κ六κκk六 END START ;程序结束
CONVERT PROC ; 过程(子程序)定义开始 AND AL,0FH CMPAL,10 JB NUM ADD AL,7 NUM: ADD AL, '0' RET CONVERT ENDP ; 过程(子程序)定义结束 CODE ENDS ; 代码段定义结束 ;************************************************* END START ; 程序结束
要点总结 汇编语言源程序由段结构组成 个段由“ SEGMENT”(段定义开始)和 “ENDS”(段定义结束)语句来定义。 每个段都有唯一的段名,前后一致。 不同段的段名不能相同。 数据段、堆栈段和代码段的作用各不相同。 各个段都由一系列语句组成。 ·语句包括指令语句和伪指令语句
要点总结: •汇编语言源程序由段结构组成。 •一个段由 “SEGMENT”(段定义开始)和 “ENDS”(段定义结束)语句来定义。 •每个段都有唯一的段名,前后一致。 •不同段的段名不能相同。 •数据段、堆栈段和代码段的作用各不相同。 •各个段都由一系列语句组成。 •语句包括指令语句和伪指令语句
2.汇编语言的语句格式( Statement formats) 汇编语言程序的每行语句由1~4个部分组成。 指令语句和伪指令语句在格式上稍有区别,指令 语句的标号后有冒号“:”,而伪指令语句的标 号后则没有冒号 指令语句的格式为 ILABEL: OPERATION OPERAND COMMENTI 标号域指令助记符域操作数域 注释域
2.汇编语言的语句格式(Statement Formats) 汇编语言程序的每行语句由1~4个部分组成。 指令语句和伪指令语句在格式上稍有区别,指令 语句的标号后有冒号“ : ”,而伪指令语句的标 号后则没有冒号。 指令语句的格式为 [LABEL:] OPERATION [OPERAND] [;COMMENT] 标号域 指令助记符域 操作数域 注释域