用汇编语言编译一个程序\从键盘输入一个字符串将其每个字符的ASCII码显示在屏幕上。(注。用02号子功能和
data segment para
str1 db ‘one’, ’$’
str2 db ‘Two’, ’$’
str3 db ‘Three’, ’$’
str4 db ‘four’, ’$’
str5 db ‘five’, ’$’
tab dw str1,str2,str3,str4,str5
data ends
ssg segment stack
dw 256 dup(?)
ssg ends
code segment para
assume cs:code,ss:ssg,ds:data
main proc far
mov ax, data
mov ds, ax
mov ah, 1 ;键盘输入
int 21h
call asc2bin
mov bl, al
mov bh, 0
dec bx
shl bx, 1
mov dx, tab[bx]
mov ah, 9
int 21h
mov ax, 4c00h
Int 21h
main endp
;将ASCII转换为二进制数
;入口:AL存放ASCII
;出口:转换后数值在AL
asc2bin proc
sub al, 30h
cmp al, 9
jbe next
sub al, 7
next: ret
asc2bin endp
end main
;=================================
DATA SEGMENT
MSG0 DB 13, 10, 'This Program can display ASCII.$'
MSG1 DB 13, 10, 'press any key...', 13, 10, '$'
MSG2 DB 13, 10, 'the ascii of this letter is $'
DATA ENDS
;---------------------------------
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
MOV DX, OFFSET MSG0
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H ;显示.
;---------------------------------
LOP:
MOV DX, OFFSET MSG1
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H ;显示.
MOV AH, 1 ;1号功能调用,键入、显示.
INT 21H ;
CMP AL, 13
JZ EXIT ;回车就结束.
PUSH AX
MOV DX, OFFSET MSG2
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H
;------------------------
POP AX
CALL CHANUM ;调用显示程序.
JMP LOP
;---------------------------------
EXIT:
MOV AH, 4CH
INT 21H
;---------------------------------
CHANUM: ;显示AL中的ASCII码.
MOV AH, 0 ;下面显示两位16进制数.
MOV BL, 16
DIV BL
PUSH AX
MOV DL, AL
ADD DL, '0'
CMP DL, 3AH
JB H1
ADD DL, 7
H1:
MOV AH, 2
INT 21H
POP AX
MOV DL, AH
ADD DL, '0'
CMP DL, 3AH
JB H2
ADD DL, 7
H2:
MOV AH, 2
INT 21H
MOV DL, 'H' ;显示H.
INT 21H
MOV DL, '.'
INT 21H
RET
;---------------------------------
CODE ENDS
END START
;=================================
str1 db ‘one’, ’$’
str2 db ‘Two’, ’$’
str3 db ‘Three’, ’$’
str4 db ‘four’, ’$’
str5 db ‘five’, ’$’
tab dw str1,str2,str3,str4,str5
data ends
ssg segment stack
dw 256 dup(?)
ssg ends
code segment para
assume cs:code,ss:ssg,ds:data
main proc far
mov ax, data
mov ds, ax
mov ah, 1 ;键盘输入
int 21h
call asc2bin
mov bl, al
mov bh, 0
dec bx
shl bx, 1
mov dx, tab[bx]
mov ah, 9
int 21h
mov ax, 4c00h
Int 21h
main endp
;将ASCII转换为二进制数
;入口:AL存放ASCII
;出口:转换后数值在AL
asc2bin proc
sub al, 30h
cmp al, 9
jbe next
sub al, 7
next: ret
asc2bin endp
end main
上面的程序是:从键盘输入1~5之间的一个数,在屏幕上显示one…five。虽然不一样,但要求差不多,希望对你有帮助!
编写完整的汇编语言程序,要求从键盘输入一个数N,如果N
inmsg mov ah, 9 int 21hagain: mov ah, 1 int 21h cmp al, '1' jl err ;<'1' cmp al, '9' ja err ; > '9' mov N, al lea dx, crlf mov ah,9 int 21h mov al, N mov ah,0eh ; output N int 10h ; jmp e...
用汇编语言编写一个代码:从键盘上输入一个字符;把其中的大写字母改为...
从键盘输入的任何字符的字符串,一个字母大写输出。数据段 MSG1 DB 13,10,'请输入一个STR:MSG2 DB 13,10,'上的STR是:$'> I1_L DB 100 I1_N DB? I1_B DB 100 DUP(?)数据 代码段 假设CS:CODE,DS:DATA START:MOV结束AX,DATA MOV DS,AX LEA DX,MSG1 MOV AH,9 ...
汇编语言编写一个简单的程序(我学的是汇编语言与接口技术)
;请从键盘任意输入一个0-59内的数,每隔一秒自加一,当加到59后跳到0从新开始自加 DATAS SEGMENT ;此处输入数据段代码 MESS0 DB 'Error char!','$' ;异常信息 MESS1 DB 'Input overflow!','$'MESS2 DB 'Must be 0~59!','$'SEPRA DB 0DH,0AH,'$' ;分隔符 TIME DB 0 MADD...
编写一汇编语言程序,要求从键盘接收一个四位的十六进制数,并在终端上...
;从键盘输入四位16进制数,以2进制、10进制输出 ;=== DATA SEGMENT STR1 DB 'INPUT A HEX NUM: $'HEX DB 5 ;计划输入的字符个数(含回车符)NNN DB 0 ;存放实际输入的字符个数 DB 5 DUP(?)BIN DW ? ;输入数字的二进制形式的存放单元 ERR DB 0AH,...
编写一个程序,要求从键盘输入一个字符并在屏幕上输出该字符的ASCLL码...
include "stdio.h"main(){ char i;printf("输入");scanf("%c",&i);printf("%d",i);}
...8086汇编语言编写程序 编写程序实现:将从键盘输入的小写字母转换成大...
data ends ;--- code segment assume cs:code,ds:data start :push ds mov ax,0 push ax mov ax,data mov ds,ax lea bx ,chars mov si,0 mov ch,0 ;---输入字符子程序 scanf:mov ah,1 int 21h cmp al,0dh jz crt cmp al,61h jnb L1 ;al>='a'mov [bx],al inc bx inc ...
急~~用汇编语言编写出从键盘输入10个字符然后相反的顺序将字符输出_百 ...
mov ah,0ah ;从键盘接受一串字符 int 21h CALL Enter_CTLF ;输出一个回车、换行 CALL Enter_CTLF ;输出一个回车、换行 cld lea si,Buffer[1] ;实际输入的字符个数地址 mov cl,[si] ;读入实际输入的字符个数 test cl,0ffh jz Exit_Proc ;直接回车,没有输入任何字符,结束程序,...
编写汇编语言程序段:从键盘输入一个字符串“please input a number...
buff db 255 dup(?)bbb: push cs pop ds push cs pop es lea dx, data mov ah,10 int 21h ; 从键盘输入字符串,字符串的字符个数在n中,串的开始地址为buff首地址 ... mov ah,4ch int 21hcode ends end start ...
试编写一个汇编语言源程序,将键盘输入的ASCII码转换为二进制。_百度知...
举报| 评论(1) 0 0 http:\/\/zhidao.baidu.com\/question\/1690966329566998468.html 参考。 做而论道 | 发布于2016-02-28 举报| 评论 0 2 为您推荐: 汇编语言是一种 解释程序的功能是 汇编语言的特征 高级语言和汇编语言 汇编程序是将源程序 汇编语言使用机器指令 连续程序 汇编语言键盘输入数字...
用汇编语言编写一个小小程序
这个还不简单#include<stdio.h>void main(){ float a,b,c,s;\/*定义数据类型,数据初始化*\/s=(a*b+c)\/a;\/*计算并把计算结果赋值给s*\/printf("s=%f\\n",s);\/*输出计算结果*\/}