鱼C论坛

 找回密码
 立即注册
查看: 4094|回复: 1

[技术交流] 汇编实验11

[复制链接]
发表于 2021-3-9 07:57:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
assume cs:code
data segment
    db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends

code segment

begin:
    mov ax,data
    mov ds,ax
    mov si,0
    call letterc

    mov ax,4c00h
    int 21h


letterc:
s:
mov al,byte ptr [si]
cmp byte ptr [si],122;z的10进制
ja hhh
cmp byte ptr [si],97;a的10进制
jb hhh
and al,0;判断为0跳出
je exit
and byte ptr [si],11011111b
hhh:
inc si
jmp s

exit:

ret
code ends
end begin
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-9 10:12:12 | 显示全部楼层
data segment para public 'DATA'
    db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends

stack segment para stack 'STACK' 
    dw 800h dup(00)
stack ends

code segment para public 'CODE'

assume cs:code , ds:data

letterc proc near
         push ax
         push si
         push di
         push es
         push ds
         pop  es
         push si
         pop di
         cld
let_01:  lodsb
         or al,al
         jz let_03
         cmp al,'a'
         ja let_02
         cmp al,'z'
         jb let_02
         sub al,20h
let_02:  stosb
         jmp short let_01
let_03:  pop es
         pop di
         pop si
         pop ax
         ret
letterc endp

main proc far
        mov ax,data
        mov ds,ax
        mov si,0
        call letterc
        mov ax,4c00h
        int 21h
main endp
code ends
end main
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 15:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表