汇编语言-字符显示

字符显示

  1. 题目:输入一个字符,找出它的前导字符和后续字符,并按顺序显示这三个字符。
  2. 要求:程序从键盘接收用户输入的一个字符后,然后分别找出它的前导字符和后续字符,再按顺序显示这三个字符。在用户输入和显示字符之前都要有相应的提示信息。
  3. 提示:从AL寄存器得到它的ASCII码,它的前导字符和后续字符的ASCII码分别比它的ASCII码少1或多1。然后分别显示这三个字符。

知识覆盖:计算机数据的存储方式。8位,16位,32位寄存器的使用选择。

这里选择了8位al,bl,cl寄存器。因为ASCII码的表示为8bit。所以处理起来也比较方便。

 1 ; Example assembly language program -- 
 2 ; Author:  karllen
 3 ; Date:    revised 5/2014
 4 
 5 .386
 6 .MODEL FLAT
 7 
 8 ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD
 9 
10 INCLUDE io.h            ; header file for input/output
11 
12 cr      EQU     0dh     ; carriage return character
13 Lf      EQU     0ah     ; line feed
14 
15 .STACK  4096            ; reserve 4096-byte stack
16 
17 .DATA
18         promot  BYTE "Please Enter a char ",cr,Lf,0
19         answer  BYTE "The three char is "
20                 BYTE cr,Lf,0
21         befchar BYTE 1 DUP(?)
22         char    BYTE 1 DUP(?)
23       
24         aftchar BYTE 1 DUP(?)
25 .CODE
26 _start:
27         output promot
28         doWh:
29            input char,1
30            cmp   char,0d
31            je    endWh     ;只会处理最后一个字符
32         endWh:
33         mov    al,char
34         sub    al,1
35         mov    befchar,al   
36         
37         add    al,1    
38         add    al,1
39         mov    aftchar,al    
40         
41         sub    al,1  
42         mov    char,al   
43         
44         
45         output answer
46         output befchar     ;依次输出befchar char aftchar
47       
48 
49         INVOKE  ExitProcess, 0  ; exit with return code 0
50 
51 PUBLIC _start                   ; make entry point public
52 
53 END                             ; end of source code

以上代码运行完整。

转载于:https://www.cnblogs.com/Forever-Kenlen-Ja/p/3734586.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值