安徽理工太骨计算机科学与技术系李兆 《汇编语言》第5章 WeX+Y+Z data segment xor axax W push aX XYzW dw 6 mov ax, data mov ds. ax W moy ax, x W add ax. Y data ends add ax. Z code segment moy W. ax ret main proc far main endp assume cs: code, ds: data code ends start end start push ds ch5 2021/1/26
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第5章 ch5 2021/1/26 例 data segment X dw 5 Y dw 6 Z dw 7 W dw ? data ends code segment main proc far assume cs:code,ds:data start: push ds xor ax,ax push ax mov ax,data mov ds,ax mov ax,X add ax,Y add ax,Z mov W,ax ret main endp code ends end start WX+Y+Z
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第5章 例代码转换 ;查表法,实现一位16进制数转换为ASCI码显示 data segment ascii db 30h 31h 32h 33h 34h. 35h db36h,37h,38h,39h;0~9的ASCI码 db41h,42h,43h,44h,45h,46h;A~F的ASCI码 hex db0bh;任意设定一个待转换的一位16进制数 data ends code segment main proc far ch5 2021/1/26
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第5章 ch5 2021/1/26 例 代码转换 ;查表法,实现一位16进制数转换为ASCII码显示 data segment ASCII db 30h,31h,32h,33h,34h,35h db 36h,37h,38h,39h ;0~9的ASCII码 db 41h,42h,43h,44h,45h,46h;A~F的ASCII码 hex db 0bh ;任意设定一个待转换的一位16进制数 data ends code segment main proc far
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第5章 例代码转换 assume cs: code, ds: data start push ds Xor ax aX push ax mov ax, data mov ds. ax moy bx, offset ascii;BX指向 ASCII码表 mov al. hex AL取得一位16进制数,正是ASCI码表中位移 ch5 2021/1/26
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第5章 ch5 2021/1/26 例 代码转换 assume cs:code,ds:data start: push ds xor ax,ax push ax mov ax,data mov ds,ax ;------------- mov bx,offset ASCII ;BX指向ASCII码表 mov al,hex ;AL取得一位16进制数,正是ASCII码表中位移
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第5章 例代码转换 and al,0fh;只有低4位是有效的,高4位清0 xlat 换码:AL←DS:[BX+AL] moy dl,al;入口参数:DL←AL moy ah,2;02号D0S功能调用 int2lh;显示一个 ASCII码字符 re t main endp code ends end start ch5 2021/1/26
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第5章 ch5 2021/1/26 and al,0fh ;只有低4位是有效的,高4位清0 xlat ;换码:AL←DS:[BX+AL] mov dl,al ;入口参数:DL←AL mov ah,2 ;02号DOS功能调用 int 21h ;显示一个ASCII码字符 ret main endp code ends end start 例 代码转换
;查表法,实现一位16进制数转换为 ASCII码显示 data segment ascii db 30h, 31h 32h 33h34h, 35h db36h,37h,38h,39h ;0~9的 ascii码 db41h,42h,43h,44h,45h,46h;A~F的 ASCII码 hex db0bh;任意设定一个待转换的一位16进制数 data ends code segment main proc far assume cs: code, ds: data start push ds Xor ax ax ush ax mov ax, data mov ds.ax moy bx, offset ascIi ;BX指向ASCI码表 mov al, hex AL取得一位16进制数,正是ASCI码表中位移 and al. ofh ;只有低4位是有效的,高4位清0 xlat ;换码:AL←DS:[BX+AL] mov dl, al ;入口参数:DL←AL moy ah. 2 ;02号D0功能调用 int 21h ;显示一个ASCI码字符 ret main endp code ends end start
;查表法,实现一位16进制数转换为ASCII码显示 data segment ASCII db 30h,31h,32h,33h,34h,35h db 36h,37h,38h,39h ;0~9的ASCII码 db 41h,42h,43h,44h,45h,46h;A~F的ASCII码 hex db 0bh ;任意设定一个待转换的一位16进制数 data ends code segment main proc far assume cs:code,ds:data start: push ds xor ax,ax push ax mov ax,data mov ds,ax ;------------- mov bx,offset ASCII ;BX指向ASCII码表 mov al,hex ;AL 取得一位16进制数,正 是ASCII 码表中位 移 and al,0fh ;只有低4位是有效的,高4位清0 xlat ;换码:AL←DS:[BX+AL] mov dl,al ;入口参数:DL←AL mov ah,2 ;02号DOS功能调用 int 21h ;显示一个ASCII码字符 ret main endp code ends end start