2019.04.26汇编上机课

编程入门 行业动态 更新时间:2024-10-09 09:20:01

2019.04.26汇编上机课

2019.04.26汇编上机课


因为本人比较懒,就cc,cv大法了,

我们的某份上课报告


一、实验目的

  1. 掌握loop和[bx]的联合应用方法
  2. 掌握在代码段种使用数据和栈的方法
  3. 掌握将数据、代码、栈放入不同的段中的方法

二、实验内容过程记录

任务1-loop和[bx]的联合应用

编程序计算ffff:0、2、4、6、8、A、C和E 8个字节型单元中数据的和,将最后结果保存在dx中

(下面列出源代码,并截图说明运行的结果)。

assume cs:code

code segment

start:

mov ax,0ffffh

mov ds,ax

mov bx,0

mov dx,0

mov ax,0

mov cx,8

s:

mov al,[bx]

add bx,2

add dx,ax

loop s

 

mov ax,4c00h

int 21h

code ends

end

任务2-包含多个段的程序(1)

编写code段中的代码,将a段和b段种的数据依次相加,将结果存到c段中。

(下面列出源代码,并截图说明运行的结果)。

代码见P136(5)

assume cs:code ds:a,ds:b,ds:c

 

a segment

    db 1,2,3,4,5,6,7,8

a ends

 

b segment

    db 1,2,3,4,5,6,7,8

b ends

 

c segment

    db 1,2,3,4,5,6,7,8

c ends

 

code segment

start:

    mov dx,0

    mov bx,0

    mov cx,8

    s0:

    mov ax,a

    mov ds,ax

    mov dl,[bx]

    mov ax,c

    mov ds,ax

    mov [bx],dl

    inc bx

    loop s0

   

    mov bx,0

    mov cx,8

    mov 

    s1:

    mov ax,b

    mov ds,ax

    mov dl,[bx]

    mov ax,c

    mov ds,ax

    add [bx],dl

    inc bx

    loop s1

   

    mov ax,4c00H

    int 21H

code ends

end start

任务3-包含多个段的程序(2)

编写code段中的代码,用push指令将a段中的前8个字型数据,逆序存储到b段中。(提高要求选做,不添加新的段,也将栈放入到代码段中)

(下面列出源代码,并截图说明运行的结果)。

代码见P136(6)

assume cs:code,ds:a,ss:b

 

a segment

    dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh

a ends

 

b segment

    dw 0,0,0,0,0,0,0,0

b ends

 

code segment

start:

    mov ax,b

    mov ss,ax

    mov sp,10h

    mov ax,a

    mov ds,ax

    mov bx,0

    mov cx,8

    s:

    push [bx]

    add bx,2

    loop s

 

    mov ax,4c00H

    int 21H

code ends

end start

任务4-综合运用

编程,将内存ffff:0~ffff:b单元中的数据逆序存放到0:200~0:20b单元中。

(下面列出源代码,并截图说明运行的结果)。

0Ffff+  00200+我是按照字来逆序的,如果要求按照字节逆序,多加一个寄存器就能实现

assume cs:code,ss:stack

stack segment

    dw 0,0,0,0,0,0

stack ends

code segment

start:

    mov ax,stack

    mov ss,ax

    mov sp,0cH

    mov ax,0ffffH

    mov ds,ax

    mov bx,0

    mov cx,6

    s0:

    push [bx]

    add bx,2

    loop s0

    mov ax,0020H

    mov ds,ax

    mov bx,0

    mov cx,6

    s1:

    pop [bx]

    add bx,2

    loop s1

 

    mov ax,4c00H

    int 21H

code ends

end start

运行之前

运行之后

更多推荐

2019.04.26汇编上机课

本文发布于:2024-03-09 01:44:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1723281.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!