问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

懂汇编语言的看一下,为什么用JNZ跳不出循环

发布网友 发布时间:2022-05-16 19:24

我来回答

4个回答

热心网友 时间:2024-02-29 19:11

;实现两位的十六进制数用ASCII码显示

D SEGMENT
ASCII DB '0123456789ABCDEF'
HEX DB 3BH, 0FH, 04H ;16进制数
D ENDS

C SEGMENT
ASSUME CS:C, DS:D
START:
MOV AX, D
MOV DS, AX
MOV BX, OFFSET ASCII
LEA SI, HEX
MOV CX, 0304H
LI: MOV AL, [SI]
ROR AL, CL
AND AL, 0FH
XLAT ;换码:AL←DS:[BX+AL]
MOV DL, AL
MOV AH, 2
INT 21H
MOV AL,[SI]
AND AL, 0FH
XLAT
MOV DL, AL
INT 21H
MOV DL, 'H'
INT 21H
MOV DL, ' '
INT 21H
INC SI
DEC CH
JNZ LI
MOV AH, 4CH
INT 21H
C ENDS
END START

热心网友 时间:2024-02-29 19:11

jnz是zf=0时转移,和cx没有关系,可以直接用loop

热心网友 时间:2024-02-29 19:12

mov cl,4
ROR al,cl
你把CX的值改了,用PUSH CX POP CX保存一下吧。

热心网友 时间:2024-02-29 19:12

关键是在中间你改变了 cx !
-----------------------

       DATAS  SEGMENT
       ASCII  DB        30H,31H,32H,33H,34H,35H,36H,37H,38H,39H
              DB        41H,42H,43H,44H,45H,46H ;对应A ~ F的ASCII码
         HEX  DB        3BH,0FH,04H ;假设两个16进制数
       DATAS  ENDS

       CODES  SEGMENT
              ASSUME    CS:CODES,DS:DATAS
      START:
              MOV       AX,DATAS
              MOV       DS,AX
              MOV       BX,OFFSET ASCII         ;BX指向ASCII码表
              MOV       SI,0
              LEA       SI,HEX
              MOV       CX,3
         LI:  MOV       AL, [SI]    ;AL取得一位16进制数
              AND       AL, 0F0H
              PUSH      CX          ;;;;;;;;;;;;;
              MOV       CL,4
              ROR       AL,CL
              POP       CX          ;;;;;;;;;;;;;
              XLAT                  ;换码:AL←DS:[BX+AL]
              MOV       DL,AL       ;欲显示的ASCII码送DL
              MOV       AH,2        ;2号DOS功能调用
              INT       21H
              MOV       AL,[SI]
              AND       AL, 0FH     ;只有低4位是有效的,高4位清0
              XLAT                  ;换码:AL←DS:[BX+AL]
              MOV       DL,AL       ;欲显示的ASCII码送DL
              MOV       AH,2        ;2号DOS功能调用
              INT       21H
              INC       SI
              DEC       CX
              JNZ       LI          ;显示一个ASCII码字符
              MOV       AH,4CH
              INT       21H
       CODES  ENDS
              END       START

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 51单片机 汇编语言 JNZ 周期问题 汇编语言jnz minu什么意思?为什么会报错! 汇编语言 循环这地方没看懂 jnz。。请详细解释下~ 多谢 孔夫子旧书网上的九品 八五品是什么意思 汇编语言中的指令jnz again的含义 孔夫子旧书网真的可信么?昨天付完钱 今天直接登录不了 也看不到发货信息 是否被骗? 孔夫子旧书网低价书质量可靠吗? 大众汽车公司旗下的10个品牌都有哪些? 在孔夫子旧书网上卖二手书,碰到顾客恶意破坏书籍,要求全额退款怎么办? 汇编语言——JNZ 武汉大学新闻与传播学院 研究生 考试科目有哪些? 在孔夫子旧书网上卖二手书,碰到顾客退货更换书籍,要求退款怎么办? 考武大的应用化学研究生要考那些课程啊? 分布式到底能做什么 武汉大学金融专硕 考研要考哪些内容? 考武大的会计学研究生是考哪几门啊? 武大法学专业考研是全国联考吗?需要考政治和英语吗? 武大法硕考研考试科目有哪些 武汉大学研究生考试科目 消息中间件MQ是否适合于在不同企业间消息集成? 汇编语言不会,jzjejnzjne什么的用法。 宝骏310w有豪华版吗?宝骏310w和宝骏310有什么不同 汇编语言中,我要改JNZ提示未知标识符,用二进制编辑的看到结果是75 11,怎么编辑成jmp 你好,310W自动挡豪华版什么时候上市啊? 摄影电子炮安装方法? 汇编语言高手进~~~ 尼康镜头为什么叫电磁炮 最近很迷尼康d850,有没有大神发我几张850和电磁炮的图样,最好是原图,让小的开开眼? 宝骏310w豪华版有气囊吗 2017手动豪华版宝骏310w空调开着会自动停机是什么问题? 阳电子炮的介绍 宝骏310w有车身稳定吗 阳电子炮的原理是什么? 求超电磁炮第一季的剧情梗概 宝骏310w1.5L 豪华型车5.98万办完手续多少钱 淮北地区哪里有卖电子炮的? 高达SEED,自由的电浆炮,磁轨炮是实弹系的吗? 宝骏310w高配为什么后排喇叭没有声音呢 宝骏310W手动豪华版原车有防盗功能吗 cf代练刷等级为什么杀敌数没变?