注:原博客账号密码丢失,故将本科期间的笔记搬运至此
DATAS SEGMENT
;此处输入数据段代码
buf db 88h,88h,88h
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
;宏 显示一个字符
dispchar macro char
mov ah,2
mov dl,char
int 21h
endm
;宏定义完成
;宏 显示字符串
dispmsg macro message
mov ah,9
lea dx,message
int 21h
endm
;宏定义完成
;宏 显示十六进制数的四位
disphex macro hexdata
local disphex1
push ax
push bx
push cx
push dx
mov bx,hexdata
mov cx,0404h
disphex1: rol bx,cl
mov al,bl
and al,0fh
call htoasc
dispchar al
dec ch
jnz disphex1
pop dx
pop cx
pop bx
pop ax
endm
;宏定义完成
lea si, buf
disphex word ptr [si]
disphex word ptr [si+2]
mov cx, 2
again:
shl byte ptr[si+2],1
rcl byte ptr[si+1],1
rcl byte ptr[si],1
clc
loop again
disphex word ptr [si]
disphex word ptr [si+2]
MOV AH,4CH
INT 21H
;子程序十六进制转ASCII
HTOASC proc
push bx
mov bx,offset ASCII
and al,0fh
xlat ASCII
pop bx
ret
ASCII db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h
db 41h,42h,43h,44h,45h,46h
HTOASC endp
CODES ENDS
END START
---------------------
作者:D???
来源:CSDN
原文:https://blog.csdn.net/qq_31424383/article/details/53318386
版权声明:本文为博主原创文章,转载请附上博文链接!