. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->包含多个段的程序
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  6.5               实验5 ------------------------(5) (6)-----------------  [待解决] 回复[ 1次 ]   点击[ 386次 ]  
stop1204
[帖 主]   [ 发表时间:2013-05-03 09:07 ]   [引用]   [回复]   [ top ] 
荣誉值:424
信誉值:0
注册日期:2013-04-08 10:06
(5)编写code段中代码,将a段和b段中数据依次相加,结果存C段中:
        assume cs:code
        a segment
                db 1,2,3,4,5,6,7,8        ;定义字节型数据 (内存中会显示 01 02 03 04)而不是00 01 00 02
        a ends
        b segment
                db 1,2,3,4,5,6,7,8
        b ends
        c segment
                db 0,0,0,0,0,0,0,0
        c ends
        code segment
        start:
                mov ax,a
                mov ds,ax
                mov ax,b
                mov es,ax
                mov bx,0
                mov di,0
                mov cx,8
                mov ax,0
        s:        mov al,[bx]        ;单个单元相加必须用字节型寄存器
                add al,es:[bx]        ;或者 add al,[bx+16]     ,16为十进制 
;a段数据在 076A:0 - FH□b段数据在 076B:0 -FH 或是076A:10-1FH,即bx+16 ■c段地址则为076A:20-2F□bx+32
                mov [bx+32],al  ; bx=1时 ,为ax段:1 ,bx+32 就是 33,就是ax段+2:1 ,如果ax段为1,则cx为3
                inc bx
                loop s
                mov ax,4c00h
                int 21h
                
        code ends
        end start
_____________________________________(6)push a段前八个字型数据,逆序存储到b段
        assume cs:code
        a segment
                dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
;内存显示 01 00 02 00 03 00 ,因为0001H入到内存是01 00 低位对低位
        a ends
        b segment
                dw 0,0,0,0,0,0,0,0
        b ends
        code segment
        start:
                
                mov ax,a
                mov ds,ax
                mov bx,0
                mov ax,b
                mov ss,ax
                mov sp,16        ;或sp,10H
                mov cx,8
        s:        push [bx]
                add bx,2        ;或两个 inc bx 指令
                loop s
                mov ax,4c00h
                int 21h
                
        code ends
        end start
stop1204
[第1楼]   [ 回复时间:2013-05-03 09:09 ]   [引用]   [回复]   [ top ] 
荣誉值:424
信誉值:0
注册日期:2013-04-08 10:06
学的太快看不懂,, 后来多看几遍看明白
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved