请问一个汇编程序,功能是把16位2进制数用4位16进制表示出来~如题:程序如下:prognam segment ;定义代码段prognammain proc far ;把程序段分成若干个过程使程序的结构更清晰assume cs:prognam ;连接cs与pr

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/09 06:31:29
请问一个汇编程序,功能是把16位2进制数用4位16进制表示出来~如题:程序如下:prognamsegment;定义代码段prognammainprocfar;把程序段分成若干个过程使程序的结构更清晰a

请问一个汇编程序,功能是把16位2进制数用4位16进制表示出来~如题:程序如下:prognam segment ;定义代码段prognammain proc far ;把程序段分成若干个过程使程序的结构更清晰assume cs:prognam ;连接cs与pr
请问一个汇编程序,功能是把16位2进制数用4位16进制表示出来~
如题:程序如下:
prognam segment ;定义代码段prognam
main proc far ;把程序段分成若干个过程使程序的结构更清晰
assume cs:prognam ;连接cs与prognam段
start:;程序开始
push ds ;为了保护现场,程序在返回的时候就会恢复现场
sub ax,ax
push ax ;且DOS返回的时候偏移地址为0
mov ch,4 ;用ch存放循环计数值
mov bx,13BAh ;给一个值bx,以待验证
rotate:;循环标号
mov cl,4 ;cl存放的是循环左移的次数
rol bx,cl ;让bx循环左移4位,即让最高的4位变成最低的4位
mov al,bl ;取bx的低8位到al进行操作
and al,0fh ;只取al的低4位
add al,30h ;让al+30h变成一个字符
cmp al,3ah ;这里通过判断得知这个16进制位是数字还是字符
jl printit ;是数字的话就跳转到printit进行输出
add al,7h ;如果不是数字的话,还要将al+7h变成一个字符
printit:;输出标号
mov dl,al ;把要输出的内容存放到dl中
mov ah,2 ;DOS功能号2:显示一个字符
int 21h ;DOS调用类型21h
dec ch ;ch自减1
jnz rotate ;如果ch不为0的话,跳转到rotate继续循环
Ret ;返回DOS
main endp
prognam ends ;代码段结束
end start ;程序结束
我想问下为什么在debug中执行的话,运行到显示字符的时候,即调用DOS功能号2的时候,程序就不知道执行到哪里去了,只有在cmd直接加载这个程序的时候才可以得到正确结果~请问这是为什么呢,怎样才可以使这个程序在debug下加载运行呢?

请问一个汇编程序,功能是把16位2进制数用4位16进制表示出来~如题:程序如下:prognam segment ;定义代码段prognammain proc far ;把程序段分成若干个过程使程序的结构更清晰assume cs:prognam ;连接cs与pr
你是使用t命令执行的吧?
t命令是单步执行,但是int 21h很显然是个中断,所以它会跟踪到中断处理程序内部.
如果想一下子执行完中断处理程序,当要执行int 21h的时候改用p命令就可以啦

请问一个汇编程序,功能是把16位2进制数用4位16进制表示出来~如题:程序如下:prognam segment ;定义代码段prognammain proc far ;把程序段分成若干个过程使程序的结构更清晰assume cs:prognam ;连接cs与pr 编写一个完整的汇编程序,计算100以内的偶数累加之和(2+4+6+……+100),并定义字类型变量SUM,并将相加结果保存在SUM中.书上给的是50以内的奇数,不好意思本人不才能不能把答案写给我 求分析汇编程序功能…… DATA SEGMENT DA1 DB 10 DUP(2,3) DA2 DW 10 DUP(0203H) DA3 DB DATA ENDS CODE 求汇编程序:若array和max都定义为字变量,存10个16位有符号数,找出最大的存在max中 请问这几个英文单词分别是什么功能意思,是一个通话录音软件的功能对话框 汇编程序:统计一个数组中正数和负数的个数 编一个程序,程序的功能是对变量的值保留2位小数,并对第三位进行四舍五入,规定h是正数 请问matlab里将向量的元素平移几位有什么函数吗比如原来的向量是[1,2,3,4,5,6,7],我想把元素向左平移两位,然后右边的两位用0补齐,得到[3,4,5,6,7,0,0],matlab有这个功能的函数吗,还是需要自己写一 1.请编一个函数,函数的功能是对变量h中的值保留2位小数,并对第三位进行四舍五入 编写汇编程序:实现下列计算 2*X X 汇编伪指令 assume 具体作用是什么书上说是把段与一个段寄存器对应起来 能不能具体说说还有就是 如果汇编程序 没有assume的话 我写的程序 用masm编译不能通过 assume是必须的吗 请问现在手机订一首彩铃一个月是7元还是2元?有朋友说彩铃功能费每月5元, 请问如何鉴定一个未知的功能基因的功能 如何用汇编程序点亮数码管的小数点位用单片机的汇编语言怎么点亮4位共阴数码管,是直接置位就可以吗?我的数码管是用74HC573和单片机连接的 编写保留两位小数的fun函数编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位小数四舍五入(规定实数为正数)float fun ( float h ){} 一个两位小数保留1位小数是5.2,请问这个两位小数最大是几?最小呢? 8位是一个字节,16位是一个字,那一个字长是多少位?双字长呢? 把一个小数精确到百分位,是保留()位小数