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

我的博客

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

[2013-05-25 09:21] 有关实验4.2(p121)

4.2编程那个,在编译的时候出现两条错误。。。


Microsoft(R) Windows DOS
(C)Copyright Microsoft Corp 1990-2001.

C:\DOCUME~1\ADMINI~1>edit

C:\DOCUME~1\ADMINI~1>masm
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987.  All rights reserved.

Source filename [.ASM]: 4
Objec...
阅读全文 |   作者:lxnokxie | 评论次数(3) | 浏览次数(505)

[2013-05-12 17:04] 自己真是笨啊。。。。。

尼玛,今天遇到这道题怎么想也想不明白。。。。。

题目如下:
能够将ax中的内容送到内存0000:0200H处的指令序列是_4__。    
        1、         mov ds,0    
                   mov bx,200h    
                   mov [bx],ax    
        2、         mov ax,200h    
                   mov ds,ax    
                   mov bx,0    
                 ...
阅读全文 |   作者:lxnokxie | 评论次数(0) | 浏览次数(323)

[2013-05-12 19:29] 第二章检测点

检测点2.1
(1)
mov ax,62627  ax=f4a3H
mov ah,31h    ax=31a3H
mov al,23h    ax=3123H
add ax,ax     ax=6246h
mov bx,826ch  bx=826ch
mov cx,ax     cx=6246h
mov ax,bx     ax=826ch
add ax,bx     ax=04d8h
mov al,bh     ax=0482h
mov ah,bl     ax=6c82h
add ah,ah     ax=d882h
add al,6      ax=d888h ...
阅读全文 |   作者:lxnokxie | 评论次数(0) | 浏览次数(311)

[2013-05-10 13:27] 检测点1.1

(1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13  位。
解:一个CPU有N根地址总线,则可以说这个CPU的地址总线宽度为N,可以寻找2的N次方个内存单元。8KB=8*2^10=2^3*2^10=2^13,得出13位结果。
(2)1KB的存储器有 1024 个存储单元,存储单元的编号从 0 到 1023 。
解:存储单元是从0开始编号的。
(3)1KB的存储器可以存储 (2^13) 个bit, 1024个Byte。
解:1KB=2^10B=2^10*2^3=2^13bit
(4)1GB是 1073741824 (2^30) 个Byte、1MB是 1048576(2...
阅读全文 |   作者:lxnokxie | 评论次数(0) | 浏览次数(364)

[2013-05-10 12:42] 认真开始学汇编了。。。

第一次开始学汇编。。。感觉好难的样子。。


从今天开始好好学习...
阅读全文 |   作者:lxnokxie | 评论次数(0) | 浏览次数(338)

[2013-05-12 09:42] 汇编小知识点(转)

在网上偶然看到的。。。留着以后学习

1>我们不能直接给段寄存器赋值如:mov ds,1000h
2>我们不能对段寄存器进行加减:sub ds,ax  add ds,bx

3>我们不能直接给内存单元赋值如:mov [0], 2266H

4>我们一般使用CX作为,loop循环控制循环次数的寄存器

5>我们一般使用DX作为,累加寄存器

6>我们如果要把字节型数据存放在字型单元中,需要对al和ah分别赋值

6>在汇编源程序中, 数据不能以字母开头: A000H 应该写成: 0A000H

7>到debug调用中断的时候, 要使用p指令才能看到结果

8>在...
阅读全文 |   作者:lxnokxie | 评论次数(0) | 浏览次数(344)

[2013-04-30 10:29] 第三章  请将内容复制到记事本txt格式的, 然后将宽拉到855以上

内存中字的存储:__________        1个单元存放一个字节,1个字要用两个地址连续的内存单元来存放,即2字节
                任何两个地址连续的内存单元,N号单元和N+1号单元,可以将它们看成两个单元,也可以看成一个
                地址为N的字单元中的高位字节单元和低位字节单元.(16位寄存器的高8位存高位字节,低8存低)

DS和[address]:__________        DS寄存器通常用来存放要访问数据的段地址.-不支持将数据直接送入段寄存器
                [mov 寄存器名,内存单元地址]and[mov al,[0]]        "[]"表示一个内存单元,[]中的0表示偏移
        *(1)        内存单元的段地址将默认从DS寄存...
阅读全文 |   作者:stop1204 | 评论次数(0) | 浏览次数(478)

[2012-12-06 22:15] 课程设计1 显示Power idea 公司的数据

data segment
        db 16 dup (0)
        db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
        db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
        db '1993','1994','1995'
        ;以上是表示21年的21个字首字偏移地址10h
        dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
        dd 345980,590...
阅读全文 |   作者:sbjcm33 | 评论次数(0) | 浏览次数(419)

[2013-05-30 00:01] 第十章

■        [ret]        用栈中数据修改IP实现近转移        相当于        pop IP        
        [retf]        用栈中数据修改CS和IP实现远转移        相当于        ①pop IP        ②pop CS
■        ■■■        call所有格式指令 push 的 ip 全部是call指令后的第一个字节偏移地址
|        [call 标号]CPU执行call指令时进行两步操作:■(1)将当前的IP或CS和IP压入栈中        (2)转移
|        (1)(sp)=(sp)-2        ((ss)*16+(so))=(ip)        (2)(ip)=(ip)+16位位移
|        ①push ip(ip为指令执行后的下一条指令ip)        ②jmp near ptr 标号
|        ■■■[...
阅读全文 |   作者:stop1204 | 评论次数(0) | 浏览次数(481)

[2012-12-10 23:51] 测点11.2

测点11.2                                        
写出下面每条指令执行后,ZF、PF、SF、CF、OF等标志位的值。                                        
             al   OF  SF   ZF   PF   CF
sub al,al    0    0    0    1    1    0
mov al,10h   10H  0    0    1    1    0
add al,90h   0A0H 0    1    0    1    0
mov al,80h   80H  0    1    0    1    0
add al,80h   0    1    0    1    1    1
m...
阅读全文 |   作者:sbjcm33 | 评论次数(0) | 浏览次数(349)

[2013-04-30 10:28] 第二章笔记  大家请将内容复制到记事本,txt格式的, 然后将宽拉到855以上即可

典型的CPU由运算器\控制器\寄存器等器件构成,主要靠内部总线相连,外部总线实现CPU与主板上其他器件的联系.
CPU中:                ***        运算器进行信息处理
                ***        寄存器进行信息存储
                ***        控制器控制各种器件进行工作
                ***        内部总线连接各种器件,在它们之间进行数据的传送
对汇编程序员来说,CPU主要部件是寄存器,可以用指令读写的部件,通过改变寄存器中的内容实现对CPU的控制;
不同的CPU,寄存器的个数\结构是不相同的,8086CPU有14个寄存器,每个寄存器都有一个名称.
______________________________________________...
阅读全文 |   作者:stop1204 | 评论次数(0) | 浏览次数(537)

[2013-05-10 02:42] 第八章(修正实验题7)

■        在8086CPU中只有4个寄存器[bx\si\di\bp]可以在"[...]"中来进行内存单元的寻址
■■        错误的[..]寄存器组合:mov ax,[bx+bp]        mov ax,[si+di]        mov ax,[bx+si+di]
■        1.立即数(idata)2.寄存器3.段地址(SA)和偏移地址(EA)
■■■        mov ax,[bp]        bp默认的段地址在 SS 中
■■        操作符 X ptr 指明内存单元的长度,X在汇编指令中可以为word或byte :        word ptr        byte ptr
□        rep 为repeat 重复之意,stos 为sotre string 保存字符串之意,...
阅读全文 |   作者:stop1204 | 评论次数(0) | 浏览次数(471)

[2013-05-03 09:08] 第六章

■        一个段中数据不满16字节则占用16字节,满16字节不满32字节则占用32字节,反正1-16字节占16字节.
■        start        标号        end start 标明程序的入口
        start:        mov bx,0        即加载程序时CS:IP指向程序的第一条要执行的指令是"mov bx,0"
■        我们在描述dw的作用时,可以说用它定义数据也可以说用它开辟内存空间
■        [dw 0 1 2]定义字型数据,内存显示00 00 01 00 02 00 , [db 1 2]定义字节型数据,内存显示01 02

程序取得所需空间的方法有两种:一是在加载程序的时候为程序分配,二是程序在执行过程中向系统申请.
...
阅读全文 |   作者:stop1204 | 评论次数(0) | 浏览次数(786)

[2013-04-30 10:30] 第五章

■        inc bx 的含义是bx中的内容加1        mov bx,1  |  inc bx  | bx = 2        ■ CX中存放着循环次数
■■■        AX 数据寄存器                BX 基址寄存器                CX 循环计数寄存器        DX 累加寄存器
■■        G 指令格式:[g 0012]使当前CS:IP指向的指令行一直运行到(IP)=0012停止.
■■        P 指令格式:[P]使N次循环的指令行一次就执行完,直到(CX)=0为止.■[G]指令可直接运行到循环指令后面
[BX]和loop指令:__________        [BX]和[0]有些类似,[0]表示内存单元,它的偏移地址是0.
                mov ax,[0]将一个内存单元内容...
阅读全文 |   作者:stop1204 | 评论次数(0) | 浏览次数(499)

[2013-05-05 10:21] 第七章      请复制到记事本 然后全屏看

■        and指令:逻辑与指令,按位进行与运算.        相对应有0的位置全设为0        即 0~1=0 0~0=0 1~1=1
■        or指令:逻辑或指令,按位进行或运算        相对应有1的位置全设为1        即 0~1=1 0~0=0 1~1=1
and 和 or 指令:__________        "与"运算         "或"运算
        □        指令[mov al,01100011b][and al,00111011b]执行后,al=00100011b
        |        通过该指令可将操作对象的相应位设为0,其他位不变
        |        将al的第6位设为0的指令是:        [and al,10111111b]
        |        将al的第7位设为0的指令是:        [and ...
阅读全文 |   作者:stop1204 | 评论次数(0) | 浏览次数(459)

[2013-05-16 02:27] 第九章          附:实验题

实验题地址:http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1010&qkSg=2&qID=70755&readSg=1



■        [mov ax,offset s]取得标号的偏移地址,ax = 标号 s 所在的那一条指令偏移地址
■        [jmp short s][jmp short 标号](转到标号处执行指令)段内短转移        功能:(ip)=(ip)+8位位移
|        (对IP修改范围为-128~127)也就是说它向前转移时可以最多越过128个字节,向后转移可以最多越过127个
|        字节. "short" 符号...
阅读全文 |   作者:stop1204 | 评论次数(0) | 浏览次数(592)

[2013-04-30 10:30] 第四章 将内容复制到记事本,然后将宽拉到855以上

编辑器:Edit        编译器:Masm        连接器:Link        调试工具:Debug
■        Debug将程序从可执行文件加载入内存后,cx中存放的是程序的长度.
一个源程序从写出到执行的过程:__________        1.编写汇编源程序 2.对源程序进行编译连接 3.执行
                可执行文件包含两部分内容.[程序和数据][相关的描述信息(比如程序要多大\占多少内存空间)]
                系统依照可执行文件中的描述信息将机器码和数据加载入内存,并进行相关初始化(如设置CS:IP
                        指向第一条要执行的指令)

源程序:__________        汇编语言源程序中包含两种指令,一种是汇编指令一种是伪指令.
                汇编...
阅读全文 |   作者:stop1204 | 评论次数(0) | 浏览次数(567)

[2012-12-11 23:16] 实验12 缩写0号中断的处理程序

code segment
        assume cs:code
start:        mov ax,cs                       ;安装do0
        mov ds,ax
        mov si,offset do0
        
        mov ax,0
        mov es,ax
        mov di,200h
        mov cx,offset do0end-offset do0
        cld
        rep movsb
        
        mov word ptr es:[0],200h    ;设置中断向量表
        mov word ptr es:[2],0
        
        mov dx,20h                ;测...
阅读全文 |   作者:sbjcm33 | 评论次数(0) | 浏览次数(379)

[2013-04-30 10:25] 第一章笔记

操作:__________                        寄存器(cpu中存储数据的器件)BX的内容送到AX中:
                机器指令:        1000100111011000
                汇编指令:        mov ax,bx                ax与bx分别代表CPU中不同寄存器的代号

计算机执行程序过程:__________        程序员-汇编指令-编译器-机器码-计算机

汇编语言的组成:__________        汇编语言的核心是汇编指令,决定了汇编语言的特性.
        *        (1)汇编指令:机器码的助记符,有对应的机器码.
        *        (2)伪指令:没有对应的机器码,由编译器执行,计算机不执行.
        *        (3)其他符号: + - * /等,由编译器识别,没有对...
阅读全文 |   作者:stop1204 | 评论次数(0) | 浏览次数(275)

[2012-12-10 23:54] 检测点11.3

;统计F000:0处32个字节中,大小在[32,128]之间的数据的个数。
;首先显示F000:0处32个字节,然后再在下面显示个数。
stack segment
        dw 16 dup (0)
stack ends
data segment
        db 16 dup (0)
data ends
code segment 
assume cs:code
start:        
        mov ax,stack
        mov ss,ax
        mov sp,32
        mov ax,data
        mov ds,ax
        mov ax,0f000h
        mov es,ax
        mov bp,0
         ...
阅读全文 |   作者:sbjcm33 | 评论次数(0) | 浏览次数(347)
页码数(8):  1  2  3  4  5  6  7  8