汇编程序汇总(2)

2019-03-11 10:20

编程序将符号字数组ARRAYW中的正负数分别送入正数数组PLUS和负数数组MINUS,同时把0元素个数送入字变量ZERON中。 stack segment stack 'stack' dw 32 dup (0) stack ends data segment

ARRAYW dw 0,1,2,-2,-3,2,-3,0,4,-5 count ($ - arrayw)/2 PLUS dw 10 dup (0) MINUS dw 10 dup (0) ZERON db 0 data ends code segment begin proc far assume ss:stack,ds:data,cs:code push ds sub ax,ax push ax mov ax,data mov ds,ax mov bx,offset arrayw mov dx,0 mov si,0 mov cx,count push bx sst: pop bx mov ax,arrayw[bx] cmp ax,0 jnz sst2 inc zeron add bx,2 push bx loop sst ret

sst2: add bx,2 push bx js sst3 mov bx,dx mov plus[bx],ax add dx,2 loop sst ret sst3: mov minus[si],ax

add si,2 loop sst1 ret begin endp code ends end begin

(1)写出实验源程序。

(2)画出程序运行后内存中数据段的数据存储示意图。

stack segment stack 'stack' dw 32 dup (0) stack ends data segment BUF DB 58H

OBUF1 DB 0AH,0DH,'(BUF)=' OBUF2 DB 4 DUP(0) data ends code segment begin proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax mov al.buf mov ah,al mov cl,3 shr ah,cl add ah,30h t add al,0fh add al,30h mov obuf2 mov obuf2+1,al mov obuf2+2,'H' mov obuf2+3,'&'

mov dx,offset obuf1 mov ah,9 int 21 ret begin endp code ends end begin

data 58h 58 0Ah ‘30’ 0dh ‘H’ ‘(’ ‘$’ ‘B’ ‘U’ ‘F’ ‘)’ ‘ ’ ‘=’

编写将26个英文字母ABCD??Z存到字

节变量中去的程序。 stack segment stack 'stack' dw 32 dup(0) stack ends data segment ib db 26 dup(0) data ends code segment begin proc far

assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax mov cx,26 mov bx,0 mov al,'a'

a1:mov ib[bx],al inc bx inc al loop a1 ret

begin endp code ends

end begin


汇编程序汇总(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2011高级语言程序设计实验任务书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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