ml
在利用下面的汇编工具的时候,提供io输入输出库文件
汇编工具、dos及案例代码.zip
源代码
io.inc
.nolist ; Do not list following content
;A include file used with io.lib for real DOS
;declare procedures for inputting and outputting charactor or string
extern readc:near,readmsg:near,readkey:near
;readc 输入一个字符(回显)出口:AL=字符的ASCII码
;readmsg 输入一个字符串(按回车键结束) 入口:EAX=缓冲区地址
; 出口:AL=实际输入字符的个数(不含结尾字符),字符串以0结尾
;reafkey 检测键盘按键 出口:ZF=1(转移指令为零条件Z)表示无按键;
; ZF=0(转移指令不为零条件NZ)表示有按键,AL返回输入字符的ASCII码(无回显)。
extern dispc:near,dispmsg:near,dispcrlf:near
; dispc 显示一个字符 入口:AL=字符的ASCII码
; dispmsg 显示字符串(以0结尾) 入口:EAX=字符串地址
;dispcrlf 光标到下一行首位置(回车换行)
;declare procedures for inputting and outputting binary number
extern readbb:near,readbw:near
;readbb 输入8位二进制数据 出口:AL=8位数据
;readbw 输入16位二进制数据 出口:AX=16位数据
extern dispbb:near,dispbw:near
;dispbb 显示8位二进制数据 入口:AL=8位数据
;dispbw 显示16位二进制数据 入口:AX=16位数据
;declare procedures for inputting and outputting hexadecimal number
extern readhb:near,readhw:near
;readhb 输入2位十六进制数据 出口:AL=8位数据
;readhw 输入4位十六进制数据 出口:AX=16位数据
extern disphb:near,disphw:near
;disphb 显示2位十六进制数据 入口:AL=8位数据
;disphw 显示4位十六进制数据 入口:AX=16位数据
;declare procedures for inputting and outputting unsigned integer number
extern readuib:near,readuiw:near
;readuib 输入无符号十进制整数(≤255) 出口:AL=8位数据
;readuiw 输入无符号十进制整数(≤65535)出口:AX=16位数
extern dispuib:near,dispuiw:near
;dispuib 显示无符号十进制数据 入口:AL=8位数据
;dispuiw 显示无符号十进制数据 入口:AX=16位数据
;declare procedures for inputting and outputting signed integer number
extern readsib:near,readsiw:near
;readsib 输入有符号十进制整数(-128~127)出口:AL=8位数据
;readsiw 输入有符号十进制整数 (-32768~32767) 出口:AX=16位数据
extern dispsib:near,dispsiw:near
;dispsib 显示有符号十进制数据 入口:AL=8位数据
;dispsiw 显示有符号十进制数据 入口:AX=16位数据
;declare procedures for outputting registers
extern disprb:near,disprw:near,disprf:near
;disprb 显示8个8位通用寄存器内容(十六进制)
;disprw 显示8个16位通用寄存器内容(十六进制)
;disprf 显示6个状态标志的状态
;declare I/O libraries
includelib io.lib
.list
解读与实现
汇编:显示字符串
汇编:字符输入输出
汇编:二进制数据输入输出
汇编:16进制数据输入输出
汇编:无符号10进制输入输出
汇编:有符号10进制输入输出
汇编:寄存器输出