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

题目要求

信息检素程序设计:在数据区,有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
相关推荐
你撅嘴真丑12 小时前
第九章-数字三角形
算法
uesowys12 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
ValhallaCoder12 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
董董灿是个攻城狮12 小时前
AI 视觉连载1:像素
算法
智驱力人工智能13 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
孞㐑¥14 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
月挽清风14 小时前
代码随想录第十五天
数据结构·算法·leetcode
XX風14 小时前
8.1 PFH&&FPFH
图像处理·算法
NEXT0614 小时前
前端算法:从 O(n²) 到 O(n),列表转树的极致优化
前端·数据结构·算法
代码游侠15 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法