logo资料库

汇编语言:. 将DX寄存器中的二进制数(3 F 2 E H)以十六进制数形式显示在屏幕上;然后换行从.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
汇编语言:. 将 DX 寄存器中的二进制数(3 F 2 E H)以十六进制数形式显示在屏幕上;然后换 行从 1、将 DX 寄存器中的二进制数(3 F 2 E H)以十六进制数形式显示在屏幕上;然后 换行从然后换行从屏幕最左端开始显示 16。 2、3F2EH 统计此二进制数中“1”的个数,将此个数保存在 BL 里,并显示在屏幕上。 回答好的话我会追加 100 分的 这是两个问题,不要放一块写啊! 第二个问题是显示 10 进制数的个数 参考内容: 程序说明: 1. 一个字单元有 4 位十六进制数,如要将此十六进制数按顺序显示在屏幕上,必 须用循环移位的方法把所要显示的 4 位二进制数移到最右面,即分离出每个 4 位, 对分离出来的 4 位进行 1 位十六进制数的转换。 2. 要统计二进制数中 1 的个数,即检测每位上的数值,可以固定对此二进制数 的某位进行检测,检测之后对此数进行移位(左移或右移均可)处理,通过一个 循环完成 1 的个数的统计。 第一题: CSEG SEGMENT assume cs:CSEG MAIN PROC FAR ;主程序入口 x0: x1: x2: mov dx,3f2eh mov bx,dx mov cx,4 rol bx,1 rol bx,1 rol bx,1 rol bx,1 mov dl,bl and dl,0fh cmp dl,0ah jl x1 add dl,37h jmp x2 add dl,30h mov ah,02h int 21h loop x0 mov dl,0ah int 21h mov dl,31h ;= 这 = ;= 些 = ;= 是= ;=输= ;=出= ; ; ; ; ; ; ; ; ; ; ;换行 ;输出 16
int 21h mov dl,36h int 21h ;程序结束,返回到操作系统系统 ;按任意键退出 mov ah,1 int 21h mov ax, 4c00h int 21h MAIN ENDP CSEG ENDS END MAIN 第二题: CSEG SEGMENT assume cs:CSEG MAIN PROC FAR ;主程序入口 mov dx,3f2eh mov ax,dx mov bx,0 mov cx,16 ror ax,1 jnc x3 add bx,1 loop x4 mov ax,bx daa mov bx,ax mov cx,4 rol bx,1 x4: x3: x5: rol bx,1 rol bx,1 rol bx,1 mov dl,bl and dl,0fh cmp dl,0ah jl x6 add dl,37h
x6: x7: jmp x7 add dl,30h mov ah,02h int 21h loop x5 ;此处添加主程序代码 ;程序结束,返回到操作系统系统 ;按任意键退出 mov ah,1 int 21h mov ax, 4c00h int 21h MAIN ENDP CSEG ENDS END MAIN
分享到:
收藏