紧急求救 8068汇编的几道程序题

来源:百度知道 编辑:UC知道 时间:2024/06/03 05:20:46
一,实验内容:通过输入字符(只能是+、 -、*、/中一个,否则为非法字符,给出出错提示并重新输入)选择对两个数据进行不同的运算。输入字符为q表示退出程序。
技术要点:运用dos功能调用中9号、1号中断进行编程。其中,1号功能调用输入参数是:AH中置功能号1。输出参数为:AL中置输入键盘对应的ASCII码。
二,,实验内容:先任意输入一个密码串(规定长度,如:7个字节),然后要求重新输入密码串,如果前后一致,则程序显示“correct”并退出,反之,显示“error,input again”并重新输入。
技术要点:运用9号功能调用进行信息提示,运用7号功能调用接收键盘字符但不回显,用2号功能调用将*号替代输入字符进行回显(每输入一个字符即调用一次2号功能调用)。在调用7号中断的同时要有顺序地将键盘输入字符写入预定存储空间,并将前后输入依次进行比较。
跪求那位高手给我写下程序。。100分送上完后追加200
输入的

第一题
; 本程序通过编译,运行正确
; 说明:本程序的重点在于对输入的四则运算符的判断和处理上,对两个数相应运算的溢出未作处理。
Code Segment
Assume CS:Code,DS:Code
CR equ 000DH
LF equ 000AH
KBBack equ 0008H
; -----------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)

; 用法: Output Str_Addr
; 用法举例:Output PromptStr

Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -----------------------------------------
; 功能:输出一个字符
; 入口:dl=要显示的字符
Output_Chr proc Near
push ax
mov ah,02h
int 21h
pop ax
ret
Output_Chr endp
; -----------------------------------------
; 功能:输出回车换行
Output_CTLF proc Near
push ax
push dx
mov ah,02h
mov dl,0dh
int 21h
mov dl,0ah
int 21h
pop dx
pop ax
ret