注册 登录
编程论坛 汇编论坛

快要考试了帮忙啦

hyfeng 发布于 2004-12-13 21:29, 1026 次点击

编程:按下数字键0--9中任何一键,编程子程序把对应按键的ASC码以二进制数形式显示在屏幕上。要求写出主程序和子程序。

4 回复
#2
hhuangbw2006-10-14 09:31
我问一下怎么发帖啊???
#3
longerhe2006-10-14 17:14
左上角有发表话题啊````
#4
longerhe2006-10-14 19:19

DATA SEGMENT
PROMPT DB 'PLEASE INPUT A NUMBER(0-9):','$'
PROMPT1 DB 0AH,0DH,'ERROR',0AH,0DH,'$'
DA DB ?
DA2 DB 8
DB ?
DB 8 DUP(0),0AH,0DH,'$'
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 20H DUP(0)
STACK1 ENDS
COSEG SEGMENT
ASSUME CS:COSEG,DS:DATA,SS:STACK1
START: MOV AX,DATA
MOV DS,AX
ROP: MOV DX,OFFSET PROMPT
MOV AH,09
INT 21H
MOV AH,01
INT 21H
CMP AL,'0'
JL ERROR
CMP AL,'9'
JG ERROR

CALL PROC1

MOV AH,4CH
INT 21H
ERROR:
MOV DX,OFFSET PROMPT1
MOV AH,09
INT 21H
JMP ROP
PROC1 PROC NEAR
MOV DI,OFFSET DA2+2
MOV CX,8
LOP: XOR BL,BL
ROL AL,1
RCL BL,1
ADD BL,30H
MOV [DI],BL
INC DI
LOOP LOP
MOV DX,0AH
MOV AH,02H
INT 21H
MOV DX,0DH
MOV AH,02H
INT 21H
MOV DX,OFFSET DA+2
MOV AH,09H
INT 21H
RET
PROC1 ENDP
COSEG ENDS
END START

#5
菜鸟上路2006-10-14 21:04
.model small
.386
option casemap:none
data segment
Bin db 8 dup(0)
num db 2
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov cx,8
mov bx,offset Bin
mov ah,1
int 21h
next:
div num
add ah,30h
mov [bx],ah
sub ah,30h
inc bx
loop next
mov cx,8
show:
mov dl,[bx-1]
mov ah,2
int 21h
dec bx
loop show
mov ax,4c00H
int 21H
code ends
end start
1