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

题目要求

信息检素程序设计:在数据区,有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
相关推荐
非优秀程序员2 小时前
第05章 播放器大战,暴风、快播与那一夜|《互联网产品恩仇录》
算法
武子康8 小时前
驾驶轨迹换个坐标,就能给移动机器人用吗?
人工智能·算法·机器学习
lisw0514 小时前
Dayhoff的PAM替换矩阵理论评介!
线性代数·算法·矩阵
一起学安全技术15 小时前
拆大模型 03|注意力的一句话版本:不用论文讲清 Attention
深度学习·算法·语言模型·transformer
Delightrs16 小时前
Rust LeetCode238 算法题解
开发语言·算法·rust
自信1504130575917 小时前
重生之从0开始学习c++之——vector-中篇
c++·学习·算法
GoAI1 天前
DeepSeek Harness Memory (一)主流记忆插件总结
后端·算法·面试
Pniubi1 天前
力扣54.螺旋矩阵
算法·leetcode·矩阵