鱼C论坛

 找回密码
 立即注册
查看: 2887|回复: 2

[技术交流] 实验11的代码,自己敲的

[复制链接]
发表于 2011-7-25 15:27:43 | 显示全部楼层 |阅读模式

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

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

x
感觉代码有点混乱,跳转比较多,还好我都做了注释了,方便大家
assume cs:code
data segment
db "Beginner's All-purpose Symbolic Instrution Code.",0
data ends
code segment
start: mov ax,data
       mov ds,ax
    mov si,0
    mov bx,0
    mov cx,0
    call letter          
    mov ax,4c00h
    int 21h
       
letter: mov bl,[si]           ;   把si的内容给bl
        mov cl,[si]          ;    把si的内容给cl,判断cx是不是为0
     cmp bl,30h       ;  最近新学的判断指令,主要判断bl是不是大与30,因为标点符号的ASCII码都小于30H
     jna s              ; CF为1就跳转到S去
     and bx,11011111b      ;  把字母转换成大写的关键
  mov [si],bl           ;  把转换成大写的字母,再放回原来的内存中
  inc si               
  loop letter          ;  这是循环,所以才有了上面的mov cl,[si],不然一开始cx=0就不会循环了
  
  ok: ret                  ;  这是和call配套的,就是转移到call的下面的代码去执行  
     s: mov [si],bl           ;  CF为1就跳过来执行,把标点符号直接原样复制到[si]里面
     inc si              
  jcxz ok                
     jmp short letter         
  
  code ends
  end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-26 09:27:11 | 显示全部楼层
这个要研究一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-7-2 11:03:51 | 显示全部楼层
看看老帖,支持下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 07:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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