我是靠谱客的博主 苗条冰棍,最近开发中收集的这篇文章主要介绍80x86汇编语言:输入字符串、转换、输出,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


用汇编语言编一段程序:用键盘输入一段字符,使输入的数字以二进制数显示,

输入的大写字母显示小写,输入小写字母显示大写,并统计出期中大写字母的数量。


如输入:123ASDFxcvb$PO0

将显示:000100100011asdfXCVB$po0000  6(大写字母的数量)


可不输入除字母和数字以外的符号,比如$。


题目链接:http://zhidao.baidu.com/question/488251450808880892.html


做而论道编写的程序如下:


;========================================================


ASSUME  CS:CC, DS:QQ


QQ   SEGMENT

    STR   DB  100, ?, 100 DUP('$')

    MSG1  DB  'Input the string : ', 13, 10, '$'

    MSG2  DB  13, 10, 'OUT  is : ', 13, 10, 36


    N_BIG  DW  ?


QQ   ENDS


CC   SEGMENT


START:

    MOV   AX, QQ

    MOV   DS, AX

;--------------------------------------------------    

    LEA   DX, MSG1    ;显示“INPUT THE STRING:”

    MOV   AH, 9

    INT   21H


    LEA   DX, STR

    MOV   AH, 0AH     ;输入字符串

    INT   21H


    LEA   DX, MSG2

    MOV   AH, 9

    INT   21H


    MOV   CL, STR + 1

    MOV   CH, 0

    CMP   CX, 0

    JNZ   CAL

    JMP   EXIT

CAL:

    MOV   BX, 0

LOP:

    MOV   DL, STR[BX + 2]

    CMP   DL, '0'

    JB    NEXT1

    CMP   DL, '9'

    JA    NEXT1

    CALL  O_BIN

    JMP   NEXT

NEXT1:

    CMP   DL, 'A'

    JB    NEXT2

    CMP   DL, 'Z'

    JA    NEXT2

    INC   N_BIG

    XOR   DL, 32

    JMP   O_CHR

NEXT2:

    CMP   DL, 'a'

    JB    NEXT

    CMP   DL, 'z'

    JA    NEXT

    XOR   DL, 32

O_CHR:

    MOV   AH, 2

    INT   21H

NEXT:

    INC   BX

    LOOP  LOP


    MOV   DL, ' '

    MOV   AH, 2

    INT   21H


O_NUM:

    MOV   AX, N_BIG

    MOV   BL, 10

    DIV   BL

    MOV   BX, AX

    MOV   AH, 2

    CMP   BL, 0

    JZ    D_2

    MOV   DL, BL

    ADD   DL, '0'

    INT   21H

D_2:

    MOV   DL, BH

    ADD   DL, '0'

    INT   21H


;--------------------------------------------------    

EXIT:

    MOV   AH, 4CH

    INT   21H

;-----------------------------

O_BIN:

    PUSH  BX

    PUSH  CX

    MOV   AH, 2

    MOV   BL, DL

    MOV   CX, 4

O_L:

    MOV   DL, '0'

    TEST  BL, 8

    JZ    O_N

    INC   DL 

O_N:

    INT   21H

    SHL   BL, 1

    LOOP  O_L

    POP   CX

    POP   BX

    RET

;-----------------------------

CC   ENDS

    END   START


;========================================================


本程序经过编译、链接,执行的效果完全符合题目要求。


最后

以上就是苗条冰棍为你收集整理的80x86汇编语言:输入字符串、转换、输出的全部内容,希望文章能够帮你解决80x86汇编语言:输入字符串、转换、输出所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部