北工大汇编题——分支程序设计

题目要求

信息检素程序设计:在数据区,有9个不同的信息,编号 0-8,每个信息包括20 个字符。从键盘接收 0-8 之间的一个编号,然后再屏幕上显示出相应编号的信息内容,按"q"键退出

完整代码

复制代码
DATAS SEGMENT
    n0 db '00000000000000000000'
    n1 db '11111111111111111111'
    n2 db '22222222222222222222'
    n3 db '33333333333333333333'
    n4 db '44444444444444444444'
    n5 db '55555555555555555555'
    n6 db '66666666666666666666'
    n7 db '77777777777777777777'
    n8 db '88888888888888888888'
    Errmsg DB 'please input 0-8 q:exit $'
DATAS ENDS

CODES SEGMENT
    ASSUME CS:CODES, DS:DATAS
START:
    MOV AX, DATAS
    MOV DS, AX

LOP:
    MOV AH, 1 
    INT 21H

    CMP AL, 'q'
    JZ exit

    CMP AL, '0' 
    JB ERR
    CMP AL, '8'
    JA ERR

    SUB AL, 30H ;'0':30
	MOV DH, 14H
    MUL DH
    MOV BX, AX 

    CALL DISP
    JMP LOP

ERR:
    MOV DL, 0DH ;回车换行
    MOV AH, 02
    INT 21H
    MOV DL, 0AH
    MOV AH, 02
    INT 21H
    
    MOV DX, OFFSET Errmsg
    MOV AH, 09
    INT 21H
    
    MOV DL, 0DH ;回车换行
    MOV AH, 02
    INT 21H
    MOV DL, 0AH
    MOV AH, 02
    INT 21H
    
    JMP LOP



DISP PROC NEAR
    MOV DL, 0DH ;回车换行
    MOV AH, 02
    INT 21H
    MOV DL, 0AH
    MOV AH, 02
    INT 21H
    
    MOV CX, 14H

LOP1:
    MOV DL, [BX] 
    MOV AH, 02H
    INT 21H
    
    INC BX ;
    LOOP LOP1

    MOV DL, 0DH ;回车换行
    MOV AH, 02
    INT 21H
    MOV DL, 0AH
    MOV AH, 02
    INT 21H
    RET

DISP ENDP

exit:
    MOV AH, 4CH
    INT 21 

CODES ENDS
END START
相关推荐
聚客AI11 小时前
🙋‍♀️Transformer训练与推理全流程:从输入处理到输出生成
人工智能·算法·llm
大怪v13 小时前
前端:人工智能?我也会啊!来个花活,😎😎😎“自动驾驶”整起!
前端·javascript·算法
惯导马工15 小时前
【论文导读】ORB-SLAM3:An Accurate Open-Source Library for Visual, Visual-Inertial and
深度学习·算法
骑自行车的码农16 小时前
【React用到的一些算法】游标和栈
算法·react.js
博笙困了17 小时前
AcWing学习——双指针算法
c++·算法
moonlifesudo17 小时前
322:零钱兑换(三种方法)
算法
NAGNIP1 天前
大模型框架性能优化策略:延迟、吞吐量与成本权衡
算法
美团技术团队1 天前
LongCat-Flash:如何使用 SGLang 部署美团 Agentic 模型
人工智能·算法
Fanxt_Ja2 天前
【LeetCode】算法详解#15 ---环形链表II
数据结构·算法·leetcode·链表
侃侃_天下2 天前
最终的信号类
开发语言·c++·算法