. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->更灵活的定位内存地址的方法
主题 : :  第七章论坛检测题解答  [待解决] 回复[ 22次 ]   点击[ 1414次 ]  
debugkkk
[帖 主] [ 发表时间:2008-05-26 18:04 ] 
荣誉值:0
信誉值:16
注册日期:2008-03-17 20:21
生成EXE之后用Debug加载后,查看寄存器内容如下: 
    ds=0b2d es=0b2d ss=0b3d cs=0b3e ip=0000 
    程序的起始地址的段地址是_____。 3
 1、 0b3e 
 2、 0b2d 
 3、 0b3d 
 4、 0 
注解:详见课本P86页,PSP段的段地址为SA,,可用段地址为SA+10,即程序的起始地址的段地址=ds+10h


下列指令不能执行的是_____。 3
 1、 mov ax,10h[bx] 
 2、 mov ax,10h[di] 
 3、 mov ax,[di+si] 
 4、 mov ax,10h[bx][si] 
注解:详见课本P134,SI和DI是8086CPU中功能详见的寄存器,SI和DI不能分成两个8位寄存器来使用。

对如下程序要实现将datasg段中的字符串"welcome to masm!"复制到它后续的数据区中, 
    assume cs:codesg,ds:datasg 
    datasg segment 
    db 'welcome to masm!' 
    db '................' 
    datasg ends 
    codesg segment 
    start: mov ax,datasg 
    mov ds,ax 
    mov si,0 
    ________ 
    ________ 
    mov ax,4c00h 
    int 21h 
    codesg ends 
    end start 
    在空白区域添加的指令序列合理的是_____。 4
 1、 mov di,10h 
    mov cx,10h 
    s: mov ax,[si] 
    mov [di],ax 
    add si,2 
    add di,2 
    loop s 
 2、 mov di,10h 
    mov cx,8 
    s: mov ax,[si] 
    mov [di],ax 
    inc si 
    inc di 
    loop s 
 3、 mov ss,ax 
    mov sp,32  
    mov cx,8 
    s: mov ax,[si] 
    push ax 
    add si,2 
    loop s 
 4、 mov cx,8 
    s: mov ax,[si] 
    mov [si+10h],ax 
    add si,2 
loop s


三人行必有我师,欢迎大家拿出自己的观点
hanlsheng
[第11楼] [ 回复时间:2009-01-04 16:48 ] 
荣誉值:0
信誉值:2
注册日期:2008-12-15 16:17
这个问题主要是 大家对程序这个词还没有理解透喔。
课本p79(第二版)开始部分“2.源程序中的“程序””
最后一句话:这里说的程序就是指源程序中最终由计算机执行、处理的指令或数据。

大家看清楚了,程序不仅仅指指令,还有数据啊,但这个数据是是计算机要处理的数据,是客户的数据(客户要使用的,计算的)。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved