📄 page273.html
字号:
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<title>第10章 细节补充</title>
</head>
<body>
<style type="text/css">
body {
background-color: #c0c0c0;
}
table {
background-color: #c0c0c0;
line-height: 24px;
}
</style>
<!导航条>
<p><a href="content1.html">目录</a> <a href="page272.html">上一页</a> <a href="page274.html">下一页</a> <a href="page291.html">下一章</a></p>
<table border=0 align="center" width=800 frame="box" rules="none">
<!标尺行>
<tr>
<td width=3%></td><td width=6%></td><td width=1%></td> <!左侧空白>
<td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td>
<td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td><td width=5%></td>
<td width=1%></td><td width=6%></td><td width=3%></td> <!右侧空白>
</tr>
<!页眉行>
<tr height=60 valign="bottom">
<td></td><td></td><td></td>
<td colspan=6><img src="icons/flag.gif"></td><td colspan=4></td><td colspan=6 align="right">第10章 细节补充</td> <!章节名>
<td></td><td>-273-</td><td></td> <!页码>
</tr>
<!页眉线>
<tr valign="top">
<td></td><td colspan=20><hr></td><td></td>
</tr>
<!正文>
<font face="宋体" lang="ZH-CN" size=3>
<tr height=20><td colspan=22></td></tr> <!顶部空白>
<tr>
<td></td><td></td> <!左边距>
<td colspan=2>
out_chr<br>
<br>
<br>
<br>
<br>
out_num<br>
code<br>
<br>
</td>
<td colspan=2>
label<br>
or<br>
mov<br>
int<br>
ret<br>
endp<br>
ends<br>
end
</td>
<td colspan=5>
near<br>
al,30h<br>
ah,0eh<br>
10h<br>
<br>
<br>
<br>
main
</td>
<td colspan=9>
;定义一个标号<br>
;将4位数据转换成ASCII码<br>
;利用10H中断的0EH功能将ASCII码输出<br>
<br>
;返回主过程<br>
<br>
<br>
<br>
</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=18>
BCD运算与调整有时也可以应用到其它方面,比如下面给出的这个程序例就是应用了BCD运算将AX寄存器中的数据按十六进制的形式显示在屏幕上。请大家自行分析这个程序中所用的技巧。<br>
程序中新出现了一条指令--ADC,这条指令以ADD一样用于完成加法,不过它在把两个操作数相加之后还要多加一些东西:
</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=3 align="center"><img src="icons/note.gif"></td>
<td colspan=15>
助记符:ADC(Add with Carry)<br>
用 途:完成带进位的加法运算<br>
格 式:ADC 寄存器,立即数<br>
ADC 寄存器,寄存器<br>
ADC 寄存器,存储单元<br>
ADC 存储单元,寄存器<br>
执 行:两个操作数相加,再加上标志寄存器的CF位,所得结果保存在左边<br>
的寄存器或存储单元中。
</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=18>
所谓多加的东西,就是标志寄存器中的CF位。举个例子,如果AX=0003H,BX=0005H,CF=1,那么执行指令"ADD AX,BX"之后将得结果AX=0008H,若执行的指令是"ADC AX,BX",那么结果就是AX=0009H,CF标志被加入结果中。<br>
与这个指令相对的就是带借位的减法指令--SBB:
</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=3 align="center"><img src="icons/note.gif"></td>
<td colspan=15>
助记符:SBB(Subtract with Borrow)<br>
用 途:完成带借位的减法运算<br>
格 式:SBB 寄存器,立即数<br>
SBB 寄存器,寄存器<br>
SBB 寄存器,存储器<br>
SBB 存储器,寄存器<br>
执 行:两个操作数相减,同时减去CF标志,结果保存在左边的寄存器或存<br>
储单元中。
</td>
<td></td><td></td> <!右边距>
</tr>
<tr>
<td></td><td></td> <!左边距>
<td colspan=2>
TESTKEY.<br>
ESC_KEY<br>
code<br>
<br>
</td>
<td colspan=2>
ASM<br>
equ<br>
segment<br>
assume
</td>
<td colspan=5>
<br>
1bh<br>
<br>
cs:code,ds:code
</td>
<td colspan=9>
<br>
;ESC键的ASCII码<br>
<br>
<br>
</td>
<td></td><td></td> <!右边距>
</tr>
</font>
<!页脚线>
<tr valign="top">
<td></td><td colspan=20><hr></td><td></td>
</tr>
<!页脚>
<tr height=60 valign="top">
<td></td><td></td>
<td colspan=9><i>Copyright © 2004-2005 <a href="mailto:webmaster@nucstorm.com">Chunk Lee</a></i></td>
<td colspan=9 align="right"><i><a href="http://www.nucstorm.com" target="_top">www.nucstorm.com</a></i></td>
<td></td><td></td>
</tr>
</table>
<!导航条>
<p align="right"><a href="content1.html">目录</a> <a href="page272.html">上一页</a> <a href="page274.html">下一页</a> <a href="page291.html">下一章</a></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -