sinat_38603242 2018-03-14 05:04 采纳率: 14.3%
浏览 1445
已结题

8086汇编语言程序设计,关于CMP指令比较数字是否存在的问题

如何在数码管中显示0-FFFF中带0的数,一直循环,每秒状态切换。我目前的思路就是用cmp指令比较,要是没有0,就右移,循环四次,四次之后没有0的话,就跳到下一个数字继续循环比较。但是汇编的基础太差,求各位大神帮忙或者提出更好的方法。以下是我们现在存有的汇编程序
DATA SEGMENT

; DB 0 1 2 3 4 5 6 7 8 9 A B C D E F
LEDCODE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
MOV DX,0206H
MOV AL,80H
OUT DX,AL
LEA BX,LEDCODE
XOR SI,SI
AGAIN:

MOV DI,1
LP2:

MOV AX,DI ; PORT B
MOV DX,0202H
OUT DX,AL

    MOV AX,SI
    AND AX,0FH
    XLAT
    MOV DX,0200H    ; PORT A
    OUT DX,AL

    PUSH CX
    MOV CX,1000
    LOOP $
    POP CX      

    MOV CL,4
    ROR SI,CL       ;SI RIGHT SHIFT 4
    ROL DI,1        ; PBx
    CMP DI,16
    JNE LP2     
    INC SI
    JMP AGAIN

CODE ENDS

END START

  • 写回答

2条回答

  • 关注

    你用C程序编译, 然后反编译成汇编即可, 这是最简单的。

    评论

报告相同问题?

悬赏问题

  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?