名字1:1助记符操作数,…;注释 名字项 助记符项操作数项 注释项 data SEGMENT 数据段 1.名字项 var db data Ends ●据语句功能的不同, code Segment;代码段 名字项可用来表示: ASSUME CS: code, DS: data start MOV AX. data 段名、变量名、 MOV DS. AX 标号、过程名以及常量名等。 MOV var, CL MOV AH 4CH INT2IH;返回DOS code ends END start
11 [名字] [: ] 助记符 [ 操作数, ] [;注释] 名字项 助记符项 操作数项 注释项 1. 名字项 ⚫ 据语句功能的不同, 名字项可用来表示: 段名、变量名、 标号、过程名以及常量名等。 data SEGMENT ; 数据段 var DB ? data ENDS code SEGMENT ;代码段 ASSUME CS:code,DS:data start: MOV AX, data MOV DS , AX MOV var, CL MOV AH , 4CH INT 21H ;返回DOS code ENDS END start
名字]:助记符操作数,…][;注释 名字项 助记符项操作数项 注释项 ●名字项用一个符号表示。 对符号的规定: ①由字符A~Z,az,09及符号a、S、下划线_等组成 最长31个字符,超出部分忽略。 ②不能用数字打头,以免与十六进制数相混。 ③不使用汇编程序中的保留字。(如指令的助记符等) ④对定义的符号不区分大小写。 12
12 ⚫ 名字项用一个符号表示。 对符号的规定: ① 由字符A~Z ,a~z ,0~9及符号@、$、下划线_ 等组成, 最长31个字符,超出部分忽略。 ② 不能用数字打头,以免与十六进制数相混。 ③ 不使用汇编程序中的保留字。 (如指令的助记符等) ④ 对定义的符号不区分大小写。 [名字] [: ] 助记符 [ 操作数, ] [;注释] 名字项 助记符项 操作数项 注释项
名字]:助记符[操作数,…1;注释 名字项助记符项操作数项 注释项 2.助记符项 助记符可以是指令、伪操作中的助记符。 对于指令,汇编程序将其翻译成机器语言指令。 MOV AX.100 B80001 对于伪操作,汇编程序据其要求的功能进行处理。 data SEGMENT →data与一段值对应 string DB‘ TSinghua’→ string.与一内存地址对应 13
13 [名字] [: ] 助记符 [ 操作数, ] [;注释] 名字项 助记符项 操作数项 注释项 2. 助记符项 助记符可以是指令、伪操作中的助记符。 对于指令,汇编程序将其翻译成机器语言指令。 MOV AX, 100 → B8 00 01 对于伪操作,汇编程序据其要求的功能进行处理。 data SEGMENT → data与一段值对应 string DB ‘Tsinghua’ → string与一内存地址对应
名字]:助记符[操作数,…1;注释 ↓ 名字项 助记符项操作数项 注释项 3.操作数项 ●操作数给出参与操作的数或数所在的地方。 ●操作数多于一个时,用逗号分开。 ●操作数可以是常数、寄有器、存储器操作数、 标号名、过程名或表达式等
14 3.操作数项 ⚫ 操作数给出参与操作的数或数所在的地方。 ⚫ 操作数多于一个时,用逗号分开。 ⚫ 操作数可以是常数、寄存器、存储器操作数、 标号名、过程名或表达式等。 [名字] [: ] 助记符 [ 操作数, ] [;注释] 名字项 助记符项 操作数项 注释项
常数 给出具体的数据。可以是数字常量或字符常量。 ∠数字默认十进制,也可加D表示十进制数。如1234D,1234 4A数字后加B表示二进制数 如1010B ∠数字后加H表示十六进制数。如1234H ∠字符常量,用单引号表示。 如‘1234 汇编时,用字符对应的ASCI表示。如3IH,32H,33H,34H 例 data1 DB 12.34. 56 ;十进制 data2DB12H,34H,56H;十六进制 MOAL,“G 字符 string DB 1234 字符串 15
15 常数 给出具体的数据。可以是数字常量或字符常量。 ◢ ◢ 数字默认十进制,也可加D表示十进制数。如 1234D, 1234 ◢ ◢ 数字后加B表示二进制数。 如 1010B ◢ ◢ 数字后加H表示十六进制数。 如 1234H ◢ ◢ 字符常量,用单引号表示。 如 ‘1234’ 汇编时,用字符对应的ASCII表示。如 31H, 32H, 33H, 34H 例 data1 DB 12, 34, 56 ;十进制 data2 DB 12H, 34H, 56H ;十六进制 MOV AL, ‘G’ ;字符 string DB ‘1234’ ;字符串