汇编网首页登录博客注册
malachi的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言

[2008-08-20 23:51] ret指令搞的我头好晕 大家指点下

p190的源程序如下: 
assume cs:codesg 

stack segment 
    db 16 dup (0) 
stack ends 

codesg segment 
    mov ax,4c00h 
    int 21h 
start:    mov ax,stack 
    mov ss,ax 
    mov sp,16 
    mov ax,0 

    push ax 

    mov bx,0 
    ret 
codesg ends 

end start 

然后 
D:\masm>debug ...
阅读全文 | 评论次数(3) | 浏览次数(908) | 所属类型(汇编作业)

[2008-08-19 09:43] 检测点 9.1 、9.2、 9.3以及一些疑问

检测点9.1

9.1.1了使IP的值经跳转后变为0,则需保证ds:[bx+1]处的字型单元数据为0000H,所以定义3个字节型数据0就符合“应该”的要求

     dw 0,0,0

9.1.2 补全程序,使jmp指令执行后,CS:IP指向程序的第一条指令。

assume cs:code,ds:data
data segment
    dd 12345678h
data ends
code segment
start:  mov ax,data
    mov ds,ax
    mov bx,0
    mov [bx],__       ; 这空不知...
阅读全文 | 评论次数(2) | 浏览次数(937) | 所属类型(汇编作业)

[2008-08-18 10:59] 实验六 实践课程中的程序

2.编程,完成问题7.9中的程序 
assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
        dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
    db '1. display      '
    db '2. brows        '
    db '3. replace      '
    db '4. modify       '
datasg ends
codesg segment
start:
    mov ax,stacksg
    mov s...
阅读全文 | 评论次数(3) | 浏览次数(930) | 所属类型(实验报告)

[2008-08-18 10:46] 实验五 编写调试具有多个段的程序

1.①CPU执行程序至返回前,DATA段中数据是将源程序中数据段DW后的数据以字为单位顺序写入
②没记录下来..
③程序加载后,如以实际CODE段的段地址为X,则DATA段的段地址
  为X-2、STACK段的段地址为X-1 
2.①CPU执行程序至返回前,DATA段中数据占据前两个字单元,共4个 字节。 
③程序加载后,如以实际CODE段的段地址为X,则DATA段的段地址
  为X-2、STACK段的段地址为X-1 
3.将⒌⒉中的DATA、STACK段移至最后语句END START之前 
①CPU执行程序至返回前,DATA段中数据同上
程序加载后,如以实际CODE段的段地...
阅读全文 | 评论次数(4) | 浏览次数(938) | 所属类型(实验报告)

[2008-08-09 11:32] 检测点6.1解题

(1).
程序的数据段,是在以CS为段地址 ,因此根据题意在写出入时,段地址就是CS,偏移地址从0H起,每次以2为步进单位的字单元内。
assume cs:codesg

codesg segment

    dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h

start:  mov ax,0

    mov ds,ax

    mov bx,0

 

    mov cx,8

s:  mov ax,[bx]

    mov cs:[bx],ax    ;此条指令为所填指令

    a...
阅读全文 | 评论次数(1) | 浏览次数(747) | 所属类型(汇编作业)

[2008-08-08 11:10] 实验四 【bx】和loop的使用

1.向内存0:200~0:23F 依次传送数据0~63(3FH)

程序如下:

assume cs:codesg

codesg segment

     mov ax,0020h

     mov ds,ax

     mov bx,0

     mov dl,0

     mov cx,40h

s:   mov [bx],dl

     inc dl

     inc bx

     loop s

 

     mov ax,4c00h

     int 21h

 

codesg ends
...
阅读全文 | 评论次数(1) | 浏览次数(693) | 所属类型(实验报告)

[2008-08-04 11:26] 实验三 编程、编译、连接、跟踪

前面部分没复制过来,不知道怎么拉到上面去
D:\Asm\masm>link

Microsoft (R) Overlay Linker  Version 3.65
Copyright (C) Microsoft Corp 1983-1988.  All rights reserved.

Object Modules [.OBJ]: t1
Run File [T1.EXE]:
List File [NUL.MAP]:
Libraries [.LIB]:
LINK : warning L4021: no stack segment

D:\Asm\masm>debug t...
阅读全文 | 评论次数(1) | 浏览次数(858) | 所属类型(实验报告)

[2008-08-03 22:30] 实验二 用机器指令和汇编指令编程

实验任务:
(1) 使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空 

-d ffff:0 f 
FFFF:0000 EA 5B E0 00 F0 30 39 2F-30 37 2F 30 34 00 FC 8B 

mov ax,ffff ;将数据FFFF传送到寄存器AX 
mov ds,ax   ;将寄存器AX中的数据传送到段寄存器DS 
mov ax,2200 ;将数据2200传送到寄存器AX 
mov ss,ax   ;将寄存器AX中的数据传送到栈寄存器,定义栈段SS=2200 
mov sp,0100 ;初始化栈顶,SP=010...
阅读全文 | 评论次数(0) | 浏览次数(667) | 所属类型(实验报告)

[2008-08-03 21:52] 检测点3.2解题

(1) 补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序拷贝到20000H~2000FH中,逆序拷贝的含义如图3.17所示(图中内存里的数据均为假设): 

mov ax,1000H  ;传送数据到AX,AX=1000H     
mov ds,ax     ;从AX中传送数据到DS段寄存器,DS=1000H 
;补全程序如下: 
mov ax,2000H  ;传送数据到AX,AX=2000H 
mov ss,ax     ;从AX中传送数据到SS栈寄存器,定义栈段,SS=2000H 
mov sp,0010H  ;定义栈顶地址,SP=0010H,执行完后SS...
阅读全文 | 评论次数(1) | 浏览次数(748) | 所属类型(汇编作业)

[2008-08-03 00:28] 检测点3.1个人解题思路

(1)在Debug中 用"d 0:0 1f"查看内存,结果如下: 
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60 
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88 
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。 

解: 

mov ax,1            将数据1传送到寄存器AX 
mov ds,ax    DS=0001H    将寄存器AX中的数据传送到段寄存器DS 
mov ax,[000...
阅读全文 | 评论次数(1) | 浏览次数(760) | 所属类型(汇编作业)
『 查看更多文章 』