汇编语言十一
Posted kksjs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编语言十一相关的知识,希望对你有一定的参考价值。
assume cs:code data segment db "Beginner‘s All-purpose Symblic Instruction Code.",0 data ends code segment start: mov ax,data mov ds,ax ;ds 段寄存器中存放要操作的源数据的段地址 mov si,0 ;初始偏移地址为 0 call letterc ;调用子程序 mov ah,4ch int 21h letterc: ;子程序开始执行前 ds:si 指向字符串的入口地址 push cx push si ;子程序执行前照常进行寄存器的保护工作 lnext: sub ch,ch ;ch 寄存器置零, 以备 loop 指令使用 mov cl,[si] ;将字符串第一个字符放进 cl 寄存器, 8bit jcxz lret ;如果还没到最后一个 0 的话, 则继续执行下一个指令, 一旦将字符串的最后一个 0 移入 cl 后, cx 寄存器为零, 程序跳转到 lret 标号处执行 cmp cl,‘a‘ ;比较指令 jb plusi cmp cl,‘z‘ ja plusi and byte ptr [si],11011111b ;前面执行了两次 cmp 指令, 只有当ds:si指向的字符为小写字母时, 才将其转变为大写字母 plusi: inc si jmp short lnext lret: pop si pop cx ret code ends end start
以上是关于汇编语言十一的主要内容,如果未能解决你的问题,请参考以下文章