- [zyc969] 写第二空时的思维是正确的,但第一空是错误的,第二空必须用到第一空的数据,所以第二空也是错的。 我十 05/20 22:00
- [tomato] 两道题都做错了? 认真态度有待提高啊! 05/20 20:57
- [tomato] 是的,这本书就是要一字一句地读才行。 05/18 22:54
- [zyc969] 嗯,明白了。 05/18 13:46
- [tomato] 应该是第二道题做错了。 05/17 08:57
- [tomato] 学习质量第一。 05/15 23:22
- [tomato] 对了,博主的博客中没有动态显示,博主可以观察一下其它学习者的学习博客,好像是参加了汇编语言学习活动的 05/13 23:20
- [tomato] 做的没问题,不过,这才是第一章,当然还是比较简单的,虽然后面的章节也不难,难的是是否能够一直坚持下去 05/13 23:19
[2013-05-25 09:21] 有关实验4.2(p121)
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...
[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
...
[2013-05-12 19:29] 第二章检测点
(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 ...
[2013-05-10 13:27] 检测点1.1
解:一个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...
[2013-05-10 12:42] 认真开始学汇编了。。。
从今天开始好好学习...
[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>在...
[2013-04-30 10:29] 第三章 请将内容复制到记事本txt格式的, 然后将宽拉到855以上
任何两个地址连续的内存单元,N号单元和N+1号单元,可以将它们看成两个单元,也可以看成一个
地址为N的字单元中的高位字节单元和低位字节单元.(16位寄存器的高8位存高位字节,低8存低)
DS和[address]:__________ DS寄存器通常用来存放要访问数据的段地址.-不支持将数据直接送入段寄存器
[mov 寄存器名,内存单元地址]and[mov al,[0]] "[]"表示一个内存单元,[]中的0表示偏移
*(1) 内存单元的段地址将默认从DS寄存...
[2012-12-06 22:15] 课程设计1 显示Power idea 公司的数据
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...
[2013-05-30 00:01] 第十章
[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 标号
| ■■■[...
[2012-12-10 23:51] 测点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...
[2013-04-30 10:28] 第二章笔记 大家请将内容复制到记事本,txt格式的, 然后将宽拉到855以上即可
CPU中: *** 运算器进行信息处理
*** 寄存器进行信息存储
*** 控制器控制各种器件进行工作
*** 内部总线连接各种器件,在它们之间进行数据的传送
对汇编程序员来说,CPU主要部件是寄存器,可以用指令读写的部件,通过改变寄存器中的内容实现对CPU的控制;
不同的CPU,寄存器的个数\结构是不相同的,8086CPU有14个寄存器,每个寄存器都有一个名称.
______________________________________________...
[2013-05-10 02:42] 第八章(修正实验题7)
■■ 错误的[..]寄存器组合: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 保存字符串之意,...
[2013-05-03 09:08] 第六章
■ 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
程序取得所需空间的方法有两种:一是在加载程序的时候为程序分配,二是程序在执行过程中向系统申请.
...
[2013-04-30 10:30] 第五章
■■■ 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]将一个内存单元内容...
[2013-05-05 10:21] 第七章 请复制到记事本 然后全屏看
■ 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 ...
[2013-05-16 02:27] 第九章 附:实验题
■ [mov ax,offset s]取得标号的偏移地址,ax = 标号 s 所在的那一条指令偏移地址
■ [jmp short s][jmp short 标号](转到标号处执行指令)段内短转移 功能:(ip)=(ip)+8位位移
| (对IP修改范围为-128~127)也就是说它向前转移时可以最多越过128个字节,向后转移可以最多越过127个
| 字节. "short" 符号...
[2013-04-30 10:30] 第四章 将内容复制到记事本,然后将宽拉到855以上
■ Debug将程序从可执行文件加载入内存后,cx中存放的是程序的长度.
一个源程序从写出到执行的过程:__________ 1.编写汇编源程序 2.对源程序进行编译连接 3.执行
可执行文件包含两部分内容.[程序和数据][相关的描述信息(比如程序要多大\占多少内存空间)]
系统依照可执行文件中的描述信息将机器码和数据加载入内存,并进行相关初始化(如设置CS:IP
指向第一条要执行的指令)
源程序:__________ 汇编语言源程序中包含两种指令,一种是汇编指令一种是伪指令.
汇编...
[2012-12-11 23:16] 实验12 缩写0号中断的处理程序
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 ;测...
[2013-04-30 10:25] 第一章笔记
机器指令: 1000100111011000
汇编指令: mov ax,bx ax与bx分别代表CPU中不同寄存器的代号
计算机执行程序过程:__________ 程序员-汇编指令-编译器-机器码-计算机
汇编语言的组成:__________ 汇编语言的核心是汇编指令,决定了汇编语言的特性.
* (1)汇编指令:机器码的助记符,有对应的机器码.
* (2)伪指令:没有对应的机器码,由编译器执行,计算机不执行.
* (3)其他符号: + - * /等,由编译器识别,没有对...
[2012-12-10 23:54] 检测点11.3
;首先显示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
...