📄 chapter4.htm
字号:
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">INT 21H</font></p>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">2、显示一个以‘$’作为结束标记的字符串</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">入口:(AH)=9</font></p>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF"> (DS:DX)=要显示的字符串的逻辑地址。</font></p>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">执行:INT 21H</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">例如:显示字符串“HELLO!”</font></p>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">DATA SEGMENT</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF"> MSG DB
“HELLO!”,‘$’</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">DATA ENDS</font></p>
<blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">....</font></p>
</blockquote>
</blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV AX,DATA</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV DS,AX</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">LEA DX,MSG</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV AH,09</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">INT 21H</font></p>
</blockquote>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">3、从键盘接收并回显一个字符</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">入口:(AH)=1</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">出口:(AL)=接收到的字符的ASCII码。</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">执行:INT 21H</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">例如:从键盘接收一个字符,若为‘Y’,则显示字符串“HELLO”。</font></p>
<p align="left"> </p>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">DATA SEGMENT</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF"> MSG DB
“HELLO!”,‘$’</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">DATA ENDS</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">CODE SEGMENT</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF"> ASSUME CS:CODE,DS:DATA,ES:DATA</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MAIN PROC FAR</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">START:PUSH DS</font></p>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">XOR AX,AX</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">PUSH AX</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV AX,DATA</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV DS,AX</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV AH,01</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">INT 21H</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">CMP AL,59H
;接收的字符为‘Y’?</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">JNZ EXIT</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">LEA DX,MSG</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV AH,09</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">INT 21H</font></p>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">EXIT:RET</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MAIN ENDP</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">CODE ENDS</font></p>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">END START</font></p>
</blockquote>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">4、程序结束的方式</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">1)使用一个远过程。</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">例如:</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MAIN PROC FAR</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">START:PUSH DS</font></p>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">XOR AX,AX</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">PUSH AX</font></p>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">...</font></p>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">RET</font></p>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MAIN ENDP</font></p>
<blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">...</font></p>
</blockquote>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">END START</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">2)使用INT 21H的4CH功能调用。</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">例如:</font></p>
<blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">...</font></p>
</blockquote>
</blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV AX,4C00H</font></p>
</blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">INT 21H</font></p>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">3)使用INT 20H中断。</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">该种程序结束方法只使用在*.com文件中。</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">例如:</font></p>
<blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">...</font></p>
</blockquote>
</blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">INT 20H</font></p>
</blockquote>
</blockquote>
<h3 align="left"><font FACE="宋体" size="5" color="#FFFFFF">二、循环结构程序设计</font></h3>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">1、将BX寄存器中的二进制数以十六进制数的格式显示出来。</font></p>
</blockquote>
<p align="center"><img src="example1.gif" width="328" height="183"
alt="example1.gif (1727 bytes)"></p>
<blockquote>
<blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">CODE SEGMENT</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MAIN PROC FAR</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF"> ASSUME
CS:CODE</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">START:PUSH DS</font></p>
<blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">XOR AX,AX</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">PUSH AX</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV CH,4</font></p>
</blockquote>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">ROTATE:MOV CL,4</font></p>
<blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">ROL BX,CL</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV AL,BL</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">AND AL,0FH</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">ADD AL,30H</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">CMP AL,3AH</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">JB PRINTIT</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">ADD AL,7</font></p>
</blockquote>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">PRINTIT:MOV DL,AL</font></p>
<blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV AH,02</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">INT 21H</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">DEC CH</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">JNZ ROTATE</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">RET</font></p>
</blockquote>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MAIN ENDP</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">CODE ENDS</font></p>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">END START</font></p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">2、将首地址为TABLE的无符号N字数组按照从小到大的次序排序。</font></p>
</blockquote>
<blockquote>
<blockquote>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">DATA SEGMENT</font></p>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">TABLE DW N
DUP(?)</font></p>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">DATA ENDS</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">CODE SEGMENT</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MAIN PROC FAR</font></p>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">ASSUME CS:CODE,DS:DATA,ES:DATA</font></p>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">START:PUSH DS</font></p>
<blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">SUB AX,AX</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">PUSH AX</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV AX,DATA</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV DS,AX</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">MOV CX,N</font></p>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">DEC CX</font></p>
</blockquote>
<p align="left"><font FACE="宋体" size="5" color="#FFFFFF">LOOP1:</font><font
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -