汇编 如何输出

来源:百度知道 编辑:UC知道 时间:2024/09/28 13:33:27
在汇编中,如果我这样定义

a dw 56,32,58,24,85,47

如何用DOS输出把以上的数字输出到屏幕呢?

首先你需要将a中的十进制数据转换成ASCII码的形式储存

然后可以用bios中断,或者dos中断,推荐用dos中断

方法一:(显示字符串)
mov ah,09h; 21h中断的09h功能:显示字符串
lea dx,a; dx指向要输出字符串的首地址
int 21h; 调用21h号中断

方法二:(显示单个字符)
mov cl,n; 循环准备,n为要显示的字符总数
l1:
mov ah,02h;
mov dl,(待显示字符的ASCII码)
int 21h
loop l1

; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确。
Code Segment
Assume CS:Code,DS:Code
; -------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -------------------------------------
; 功能:把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示
; 入口:AX=二进制数
; 出口:在当前光标位置显示转换后的ASCII码数字
Dec_ASCII Proc Near
push dx
push bx
push di
mov bx,10
lea di,@@Temp_Save[5]
mov BYTE PTR [di],'$'
dec di
cld
@@Di