汇编语言语句类型格式
<p> 汇编语言源程序的中的语句分为两大类:指令性语句和指示性语句</p><p>指令性就是能够被CPU执行的语句;指示性就是不被CPU执行的指令,不能生成目标代码,又称为伪操作语句或伪指令。</p>
<p>操作数可以是寄存器或存储器或数据段。数据段可以是常量,表达式,变量,标号。</p>
<p>标号代表存放一条指令的存储单元的符号地址,后面必须加冒号。有段值,段偏移量,类型三个属性。</p>
<p> </p>
<p>表达式:</p>
<p> 1 诸如算术运算符值类的运算:</p>
<p> MOV AL,8+5 等价于MOV AL,13</p>
<p> 2 同时还有逻辑运算符,名字和指令的AND,OR,XOR等相同。</p>
<p> MOV AL,0AH AND 0CCH</p>
<p> 3 关系运算符EQ NE LT LE GT GE</p>
<p> MOV AX,4 EQ 3 汇编指令为 MOV AX,0</p>
<p> </p>
<p>关于伪指令:</p>
<p>1 数据定义的伪指令</p>
<p> 常用的指令有DB,DW,DD,DQ,DT,分别代表定义变量为1,2,4,8,10个字节类型。</p>
<p> 定义操作书的相关伪代码如下:</p>
<p> DATA DB 11H,33H; 包含两个元素的字节变量DATA</p>
<p> NUM DW 100*5+88</p>
<p> STR DB 'HELLO</p>
<p> 数据定义的操作数 还可以是 ? ,对变量保留相应的存储单元,但不赋予变量的值。小编在写程序的时候 需要加引号。</p>
<p>2 重复操作符 DUP</p>
<p> DATA1 DB 20 DUP('?') ; 20代表为变量DATA1分配20个字节的存储空间,初值为任意值,或者为 相对应的存储单元本来的值。</p>
<p>关于DOS的调用:</p>
<p>输入单个字符显示:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">CODE SEGMENT
ASSUME CS:CODE
START: MOV AH,</span>1<span style="color: rgba(0, 0, 0, 1)">
INT 21H
JMP START
CODE ENDS
END START</span></pre>
</div>
<p>显示单个字符:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">CODE SEGMENT
ASSUME CS:CODE
START: MOV DL,</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">B</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
MOV AH,</span>2<span style="color: rgba(0, 0, 0, 1)">
INT 21H
CODE ENDS
END START</span></pre>
</div>
<p>输入字符串:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">DATA SEGMENT
STRING DB </span>10,0,10 DUP(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">?</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,STRING
MOV AH,0AH
INT 21H
MOV CL,STRING</span>+1<span style="color: rgba(0, 0, 0, 1)">
XOR CH,CH
ADD DX,CX
MOV BX,DX
MOV BYTE PTR,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">$</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
MOV AH,4CH
INT 21H
CODE ENDS
END START </span></pre>
</div>
<p>显示字符串:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">DATA SEGMENT
STR DB </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">123ABC</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
mov ds,ax
lea bx,str
MOV CX,</span>6<span style="color: rgba(0, 0, 0, 1)">
LPP: MOV AH,</span>2<span style="color: rgba(0, 0, 0, 1)">
MOV DL,
INC BX
INT 21H
LOOP LPP
MOV AH,4CH
INT 21H
CODE ENDS
END START </span></pre>
</div>
<p> </p><br><br>
来源:https://www.cnblogs.com/a-runner/p/12584077.html
頁:
[1]