汇编语言实验报告

2026/1/14 6:55:24

问题7.8

编程,将 datasg 段中的每个单词改为大写字母

申请内存空间:

assume cs:codesg,ds:datasg

datasg segment

db 'ibm ' db 'dec ' db 'dos ' db 'vax '

dw 0 ;定义一个字,用来暂存cx datasg ends

codesg segment

start: mov ax,datasg mov ds,ax

mov bx,0

mov cx,4

s0: mov ds:[40H],cx ;将外层循环的cx值保存在datasg:40H单元中 mov si,0 mov cx,3

s: mov al,[bx+si] and al,11011111B mov [bx+si],al inc si loop s

add bx,16

mov cx,ds:[40H] loop s0

mov ax,4c00h int 21h

codesg ends end start

利用堆栈:

assume cs:codesg,ds:datasg,ss:stacksg

datasg segment

db 'ibm ' db 'dec ' db 'dos ' db 'vax ' datasg ends

stacksg segment

dw 0,0,0,0,0,0,0,0 ;定义一个段,用来做栈段,容量为16个字节 codesg segment start: mov ss,ax mov sp,16 mov ax,datasg mov ds,ax

mov bx,0

mov cx,4

s0: push cx ;将外层循环的cx值压栈 mov si,0

mov cx,3 ;cx设置为内层循环的次数

s: mov al,[bx+si] and al,11011111B mov [bx+si],al inc si loop s

add bx,16

pop cx ;从栈顶弹出原cx的值,恢复cx

loop s0 ;外层循环的loop指令将cx中的计数值减去1

mov ax,4c00h int 21h

codesg ends end start


汇编语言实验报告.doc 将本文的Word文档下载到电脑
搜索更多关于: 汇编语言实验报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219