zoukankan      html  css  js  c++  java
  • 汇编语言-字符显示

    字符显示

    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

    以上代码运行完整。

  • 相关阅读:
    ASP.NET Core MVC Razor小记
    ASP.NET Core引入第三方日志框架及简单实现日志策略配置
    test
    记录一个Windows explorer进程卡死的处理,有关于“MicrosoftWindows.Client.CBS_cw5n1h2txyewy”的,已解决!
    Windows版本sed工具
    相同xml批量创建替换脚本.sh
    springboot1.x apollo 更改属性值不起作用。 ConfigurationProperties
    jmeter固定定时器
    jmeter函数助手参数化
    jmeter循环控制器
  • 原文地址:https://www.cnblogs.com/Forever-Kenlen-Ja/p/3734586.html
Copyright © 2011-2022 走看看