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

题目要求

信息检素程序设计:在数据区,有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 小时前
递归解题指南:LeetCode经典题全解析
数据结构·算法·leetcode·职场和发展·排序算法·深度优先·递归
Kiling_07042 小时前
Java集合进阶:Set与Collections详解
算法·哈希算法
智者知已应修善业2 小时前
【51单片机89C51及74LS273、74LS244组成】2022-5-28
c++·经验分享·笔记·算法·51单片机
洛水水3 小时前
【力扣100题】33.验证二叉搜索树
算法·leetcode·职场和发展
SimpleLearingAI3 小时前
聚类算法详解
算法·数据挖掘·聚类
刀法如飞4 小时前
Go 字符串查找的 20 种实现方式,用不同思路解决问题
算法·面试·程序员
Dlrb12116 小时前
C语言-指针数组与数组指针
c语言·数据结构·算法·指针·数组指针·指针数组·二级指针
WL_Aurora6 小时前
Python 算法基础篇之集合
python·算法
平行侠6 小时前
A15 工业路由器IP前缀高速检索与内存压缩系统
网络·tcp/ip·算法
阿旭超级学得完7 小时前
C++11包装器(function和bind)
java·开发语言·c++·算法·哈希算法·散列表