自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 实验16

assume cs:code code segmentstart:         mov ax , 0     mov es , ax     mov word ptr es:[7ch*4] ,   offset setscreen                   //不复制程序,只是将中断向量表中7ch号中断的地址改为我的处理程序的地址,即setscre

2014-01-29 10:54:30 441

原创 实验15

安装一个新的int9 中断例程,功能:在DOS下,按下A键后,除非不松开,如果松开,就显示满屏幕的"A"(1)自行编写的int9中断例程:    assume cs:codestack segment                     //自定义栈段,其实也可以不需要    db 128 dup (0)stack endscode se

2014-01-29 00:01:47 512

原创 实验14

编程,以“年/月/日 时:分:秒”的格式,显示从cmos ram中读取的时间:assume cs:code , ds:datadata segment    db 32 dup(0)         //开辟32个字节的空间来存放最终要显示的字符串,实际用到了17字节。初始化为0data endscode segment     start: 

2014-01-28 17:10:42 414

原创 实验13.3

assume cs:codecode segments1: db 'Good , better , best ,', '$' s2: db 'Never let it rest ,', '$' s3: db 'Till good is better ,' , '$' s4: db 'And better , best.', '$'s: dw offset s1 ,

2014-01-28 15:24:55 428

原创 实验13.2

(2)编写,编译,并运行myloop.exeassume cs:codecode segment     start:     mov ax , cs     mov ds , ax     mov si , offset myloop     mov ax , 0     mov es , ax     mov di , 200h 

2014-01-28 14:37:54 390

原创 实验13.1

(1)  编写,并安装myshow程序assume cs:codecode segment     start:     mov ax , cs     mov ds , ax     mov si , offset myshow     mov ax , 0     mov es , ax     mov di , 200h   

2014-01-28 14:18:52 388

原创 检测点13.1

(1) 安装自己编写的7ch中断程序(myjumpn.asm),即将功能处理程序拷贝到内存 0:200h处,并将中断向量表的7ch项做相应的设置(段地址,偏移地址)           assume cs:codecode segment     start:     mov ax , cs     mov ds , ax     mov si ,

2014-01-28 11:54:11 593

原创 实验12

assume cs:codecode segmentstart: mov ax , cs       mov ds , ax       mov si , offset do0       mov ax , 0       mov es , ax       mov di , 200h       mov cx , offset do0end-off

2014-01-27 12:59:36 405

原创 实验11

assume cs:codesgdatasg segment       db "Beginner's All-purpose Symbolic Instruction Code.",0datasg endscodesg segment       begin:       mov ax , datasg       mo

2014-01-27 00:19:03 490

原创 第10章课程设计1

assume cs:codesgdata segment     db '1975','1976','1977','1978','1979'     db '1980','1981','1982','1983','1984'     db '1985','1986','1987','1988','1989'     db '1990','1991','1992'

2014-01-25 23:51:22 413

原创 第十章实验10.3

本实验要将十进制数字,以ASCII码的形式显示到屏幕上assume cs:codedata segment     db 10 dup (0)                         //存放要写到屏幕上的数字的内存段data endscode segment     start:           mov ax

2014-01-25 15:17:42 435

原创 第十章实验10.2

本实验要实现32位除法结果不溢出(被除数32位,除数16位)assume cs:codecode segmentstart :       mov ax , 4240H                            //参数1:被除数的低16位,放入ax       mov dx , 000FH                          

2014-01-25 11:28:41 412

原创 第十章实验10.1

assume cs:codedata segment     db 'Welcome to masm!',0             //要显示的字符串,以0结尾,属于"C风格字符串“,这样就不用保存字符串的长度data endscode segmentstart:  mov dh, 8

2014-01-25 10:16:34 486

原创 检测点10.1-10.5

10.1      mov ax , 0      mov ax, 1000h10.2     ax = 610.3     ax = 1010H10.4     ax = BH10.5 (1)    ax = 310.5 (2)    ax = 1 , bx = 0

2014-01-18 22:43:17 602

原创 第九章实验9

assume cs:codesg,es:datasg,ss:stacksgdatasg segment       db 'welcome to masm!'               //要显示的字符串,共16个byte       db 11000010B                             //第一种字体属性,红底闪烁绿字       db 00

2014-01-18 15:29:17 409

原创 第9章实验8

assume cs:codesgcodesg segment       mov ax,4c00h                      // ip=0       int 21h          start:        mov ax , 0                         // ip=5        s: nop

2014-01-18 14:17:24 413

原创 检测点9.3

assume cs:codecode segment     start:     mov ax , 2000h     mov ds , ax     mov bx , 0     s:     mov cl , [bx]     mov ch , 0     inc cx         //此处要将cx加1是因为loop指令会先将c

2014-01-18 11:23:42 751

原创 检测点9.2

assume cs:codecode segment     start: mov ax , 2000h            mov ds , ax            mov bx , 0            s:            mov cl , [bx]   //用【bx】处内存的值直接赋值给cx寄存器,注意不能将cl写成cx,因为

2014-01-18 11:11:24 581

原创 检测点9.1

(1)       assume cs:codedata segment     dw 0,0data endscode segment     start :           mov ax , data           mov ds , ax           mov bx , 0           jmp word p

2014-01-18 10:52:00 579

原创 第八章实验7

assume cs:codesg,ss:stacksgdata segment     db '1975','1976','1977','1978','1979'     db '1980','1981','1982','1983','1984'     db '1985','1986','1987','1988','1989'     db '1990','1

2014-01-17 23:56:45 399

原创 第七章问题7.9

assume cs:codesg,ss:stacksg,ds:datasgstacksg segment       dw 0, 0, 0, 0, 0, 0, 0, 0stacksg endsdatasg segment       db '1. display      '       db '2. brows        '       db '3

2014-01-15 21:57:48 426

原创 第六章实验五

(5)assume cs:codea segment    db 1,2,3,4,5,6,7,8a endsb segment    db 1,2,3,4,5,6,7,8b endsc segment    db 0,0,0,0,0,0,0,0c endscode segmentstart :   

2014-01-15 00:43:35 351

原创 第5章实验4

(1)向内存0:200 -- 0:23F 依次传送数据0--63(3FH)assume cs:codecode segment     mov ax , 0020H     mov ds , ax     mov bx , 0     mov cx , 40H     s: mov [bx] , bx        inc bx     

2014-01-14 00:13:42 341

原创 检测点3.2

(1) 将内存空间2000:0000-2000:000F看作栈,初始时候栈空,初始栈指针指向内存单元2000:0010,通过push指令将数据压入栈中      mov   ax,  1000H      mov   ds,   ax      mov   ax ,  2000H      mov   ss,  ax      mov   sp,  10H      pus

2014-01-09 23:16:14 439

原创 检测点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  600000:0010   62  26  E6  D6  CC  2E  3C  3B-AB  BA  00  00  26  06  66  88下面的程序执行前, AX

2014-01-09 23:02:55 573

原创 检测点2.3

下面的3条指令执行后,CPU几次修改IP? 都是什么时候?最后IP中的值是多少?     mov    ax  ,    bx         (根据CS:IP 读取指令,IP+, 执行指令 mov)     sub    ax  ,    ax         (根据CS:IP 读取指令,IP+, 执行指令 sub,执行后ax寄存器中的值为0)     jmp    ax      

2014-01-05 16:42:34 440

原创 检测点2.2

(1) 给定段地址为 0001H , 仅通过变化偏移地址寻址,CPU的寻址范围为  00010H ----- 1000FH(2) 有一数据存放在内存 20000H 单元中,现给定段地址为 SA , 若想用偏移地址寻到此单位,则 SA 满足的条件是: 最小为:1001H , 最大为:2000H

2014-01-05 15:08:49 394

原创 检测点2.1

(1) 写出每条汇编指令执行后相关寄存器中的值            mov    ax  ,  62627         AX = F4A3H            mov    ah ,  31H             AX = 31A3H           mov     al  ,  23H             AX = 3123H           add  

2014-01-05 14:38:24 366

原创 检测点1.1

(1) 1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13(2) 1KB的存储器有 1024 个存储单元 。 存储单元的编号从 0 到 1023(3) 1KB的存储器可以存储 1024×8 个bit, 1024 个Byte(4) 1GB , 1MB, 1KB 分别是 1024x1024x1024 Byte, 1024x1024 Byte, 1024Byte(5) 8080

2014-01-05 13:52:03 433

原创 汇编语言学习(开篇)

本人今天开始学习王爽老师著的《汇编语言》,为督促自己踏实学习,将每节课后检测点的练习都发到博客上来,一节不漏。本人汇编0基础,一切从头开始。

2014-01-05 13:39:16 354

原创 数据结构之图(下)

图的实现public class Graph {    private List nodes; //所有节点的集合    private Map> sides; //图的构成数据,每一个节点包含一个list,list里面是所有和该节点相邻的side        public Graph(){    nodes=new ArrayList();    sides

2013-09-30 02:34:55 429

原创 数据结构之图(上)

图的用处也很广。搜索引擎的爬虫机器人在网上下载网页肯定用到了图这种数据结构,包括图的深度优先/广度优先算法,以及图中两个节点间的最短距离及最短路径(路线)。本实现简单实现了图的这三个算法。我这里用来表示图的数据结构包括节点和边(有向图,边含有权重)。节点的实现如下:public class Node { private String name;

2013-09-30 02:26:21 482

原创 数据结构之栈(用list实现)

栈(stack)这种数据结构用得相当那个广泛。用list实现相当方便。特点就是FILO(先进,后出)public class MyStack { private MyLinkedList lists; public MyStack(){ lists=new MyLinkedList(); } //将新元素压入栈中,位居栈顶 public void push(i

2013-09-30 02:09:31 615

原创 数据结构之list(用链表实现)

相当于LinkedList链表由节点构成。由于只实现单向链表,所里节点里面只有next指针,没有previous指针。public class MyNode { private int data; private MyNode next; public int getData() { return data; } public void setDa

2013-09-30 02:05:26 686

原创 数据结构之list(用数组实现)

由数组实现的list,相当于ArrayList,简单起见,未实现为泛型。public class MyArrayList { private int[] array; private int capacity; //容量 private int size; //实际填充的数值个数 private static final int DEFAULT_CAPACI

2013-09-30 02:00:42 864

原创 数据结构之优先队列

优先队列就是在队列的基础上增加优先级的比较。在操作系统进行进程/线程调度算法中即用到了优先队列。比如去医院看病,大家都要排队,但是如果病情非常严重的人肯定不需要排队了,可以直接救治,因为其优先级更高。优先队列用堆来实现非常方便。因为将元素添加到堆中以后,堆的头节点总是值最大的那个(按Comparable的compareTo方法进行比较),如果在实现类的comparaTo

2013-09-30 01:50:37 526

原创 排序算法值堆排序

堆排序的原理:用数组元素构建堆。每次调用堆的insert函数时,堆都会将堆中最大的元素调整到堆的头节点处。添加完毕,然后调用delete函数,每次删除和返回的都是当前堆中的最大数值。  public static void heapSort(int[] lists){ Heap heap=new Heap(); for(int i=0;i<lists.l

2013-09-30 01:40:51 443

原创 数据结构之堆

堆实际也是一种二叉数。特点是父节点的数值总是大于等于子节点的数值。堆可以用来实现堆排序,也可以用来实现优先队列。//堆实现为泛型类,实现类型必须实现Comparable接口public class Heap { private List data; //数据放在list里面 public Heap(){ data=new ArrayList(); } p

2013-09-30 01:35:11 398

原创 数据结构之二叉查找树

二叉查找树由节点构成,每个结构包含数值元素,左子树(指向左边相连的节点的指针),右子树(指向右边相连的节点的指针),父节点(指向父节点的指针)public class BinaryNode { private int data; private BinaryNode left=null; private BinaryNode right=null; private Bin

2013-09-30 01:24:48 538

原创 排序算法之二叉查找树排序

//二叉查找树排序,原理:构造二叉查找树,用数组数据进行填充,然后每次删除二叉查找树之最小元素,返回的即是树中剩余元素中的最小值。 //该算法的局限是不能有重复元素的存在 //关于BinaryTree的构建,请参考本系列数据结构之二叉查找树 public void BinaryTreeSort(int[] lists) { BinaryTree tree=new BinaryT

2013-09-30 01:00:47 619

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除