汇编程序:查表法找ASCII

来源:互联网 发布:火狐浏览器mac版 编辑:程序博客网 时间:2024/06/14 17:04

【任务】用查表法输出16进制数的各个符号
(本任务旨在演示lodsb、stosb串传送指令,以及xlat查表指令)

【参考解答】

assume cs:coseg,ds:table,ss:stack,es:tabletable    segmenttab_da    db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h          db 41h,42h,43h,44h,45h,46hhextab    db 0,1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fhasibuf    db 16 dup(?)eol       db '$'table    endsstack segment para stack 'stack'    stapn db 100 dup(?)stack endscoseg segmentstart:        mov ax,table        mov ds,ax        mov es,ax        mov si,offset hextab ;根据si        mov bx,offset tab_da ;表的基址必须放在bx中(必须的)        mov di,offset asibuf ;结果放进di        mov cx,16            ;循环计数器next:        lodsb       ;从[si] 装入一个字节 --> al        xlat tab_da ;xlat以al为索引,查tab_da表,结果还是放在al中        stosb       ;再将al存入[di]        loop next   ;cx--,if cx<> 进入下一循环        mov cx,16        mov ah,2    ;显示字符的功能号        xor si,siagain:        mov dl,asibuf[si]        int 21h        inc si        loop again    mov ax,4c00h    int 21hcoseg ends end start
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 wow神器选错了怎么办 wow dk老拉嘲讽怎么办 4k屏幕字体太小怎么办 车被冰雹打了怎么办 玩3d游戏头晕怎么办 dnf黑龙大会秒杀怎么办 黑曼巴c挂不上弦怎么办 费效比超过100%怎么办 入职体检不报销怎么办 入职体检过不了怎么办 入职体检血糖高怎么办 入职体检没过怎么办 入职体检血压高怎么办 看病没带医保卡怎么办 孕妇8个月血压高怎么办 怀孕3个月血压高怎么办 怀孕3个月血压低怎么办 38周孕妇血压高怎么办 孕前检查后怀孕怎么办 精子a加b成活率底怎么办 怀孕五周孕酮低怎么办 怀孕38天孕酮低怎么办 刚怀孕了孕酮低怎么办 怀孕2个月孕酮低怎么办 怀孕七周孕酮低怎么办 孕前检查孕酮低怎么办 甘油三酯偏高7.2怎么办 入职体检来例假怎么办 6激素检查喝水了怎么办 抽血前吃了东西怎么办 怀孕一个月孕酮低怎么办 怀孕了老是有痰怎么办 孕妇有很多白痰怎么办 血糖高怎么办吃什么好 5年糖尿病血糖高怎么办 血糖高引起的视力模糊怎么办 谷丙转氨酶和谷草转氨酶高怎么办 产检血糖有点高怎么办 孕期餐后血糖高怎么办 怀孕12周血糖高怎么办 怀孕2个月血糖高怎么办