汇编语言的语句类型

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言的语句类型有两种:指示性语句和指令性语句。指示性语句可以位于任何段中,指令性语句必须位于代码段内。

指示性语句

又称伪操作语句,它不是8086/8088cPU的指令,它与汇编程序指示性语句的功能主要是变量定义、为数据分配存储空间、告诉汇编程序如何对源程序汇编等。源程序汇编后,指示性语句不生成目标代码,所以常被称为伪指令。

指令性语句

指令性语句是可执行语句,是8086/8088CPU的指令。源程序汇编后,指令性语句生成目标代码。第3章中介绍的所有指令都是指令性语句的主体,其操作数最多只能有2个。

. 2018/04/23 12:17:12

2.汇编语言源程序由若干段组成:数据段、附件数据段、堆栈段和代码段等,段与段之间的顺序可以任意排列,每段由SEGMENT开始,以ENDs结束,每段的开始和结束都附有相同的名字。一个程序一般定义三个段:数据段、堆栈段和代码段,必要时增加定义附加数据段,能独立运行的程序至少包含一个代码段。

张宇新2018/04/23 12:19:12

3(1)BUFF DB 200 DUP(?)

(2)DB 'BYTE','WORD'

(3)DW 2040H,0300H,10H,0020H,1048H

张宇新2018/04/23 12:19:25

5(1)MOV SI,OFFSET NAME

(2)MOV AX,WORD PTR [LIST]

(3)MOV AX,SIZE LIST

张宇新2018/04/23 12:31:44

6(1)200X100+55

(2)C8AND0F-0F=0

(3)100MOD15=10

(4)0FORC8=CFH

张宇新2018/04/23 12:31:59

7DATA SEGMENT

NUM DW X

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV AL,0

MOV BX,NUM

MOV CX,16

NEXT:SHL AX,1

JNC NEXT1

INC AL

NEXT1:LOOP NEXT

MOV AH,4CH

INT 21H

CODE ENDS

END START

张宇新2018/04/23 12:38:12 8DATA SEGMENT

BUFFER DB 100 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

XOR DX,DX

MOV CX,100

MOV SI,OFFSET BUFFER

NEXT:MOV AL,[SI]

INC SI

TEST AL,80H

JNZ GOON

CMP AL,0

JZ GOON

INC DX

GOON:LOOP NEXT

MOV NUMBER,DX

MOV AH,4CH

INT 21H

CODE ENDS

END START

张宇新2018/04/23 12:39:49

9这是一个查表程序,查表取出HEX中数字对应的ASCII码。

张宇新2018/04/23 12:48:35

10过程定义的一般格式为:PROC ENDP。如果一个子程序被多次调用,保护

与恢复(主程序)现场就非常重要。主程序每次调用子程序时,主程序现场不会相同,保护与恢复现场的工作就只能在子程序中进行。原则上,首先把子程序中要用到的寄存器、储存单元、状态标志等压入堆栈或存入特定空间中,然后子程序才可以使用它们,使用后再将它们弹出堆栈或从特定空间中取出,回复他们原来的值,即恢复主程序现场。保护和恢复现场常使用PUSH和POP指令。

张宇新2018/04/23 12:58:18

11DATA SEGMENT

BUF DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX

MOV AL,BUF

MOV BL,AL

NEXT:MOV CL,4

SHR AL,CL

AND AL,0FH

CMP AL,0

JZ GOON

ADD AL,30H

MOV DL,AL

MOV AH,2

INT 21H

GOON:MOV AL,BL

AND AL,0FH

ADD AL,30H

MOV DL,AL

MOV AH,2

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START

张宇新2018/04/23 13:04:46

12DATA SEGMENT

M1 DB 100DUP(?)

DATA ENDS

EDATA SEGMENT

M2 DB 100DUP(?)

EDATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:EDATA START:MOV AX,DATA

MOV DS,AX

MOV AX,EDATA

MOV ES,AX

LEA SI,M1

LEA DI,M2

MOV CS,200

CLD

REPE CMPSB

AND CX 0FFFFH

相关文档
最新文档