-
汇编语言 8.4 8.5 寻址方式(2) 指令要处理的数据多长
8.4 寻址方式(2)寻址方式的小结表格: 寻址方式 含义 名称 常用格式举例 [idata] EA=idata;SA=(ds) 直接寻址 [idata] [bx] EA=(bx);SA=(ds) 寄存器间接寻址 [bx] [si] EA=(bx);SA=(ds) ...…
-
汇编语言 8.1 8.2 8.3 8.4(1) bx,si,di,bp 机器指令数据在哪 数据位置表达 寻址方式(1)直接寻址
首先规定寄存器(reg,register): ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,dl,sp,bp,si,di;规定段寄存器(sreg, segment register): ds,ss,cs,es。8.1 bx、si、di和bp1.在8086CPU中只有bx,bp,si,di这四个寄存器可以在[...], 中来进行内存单元的寻址。比如:mov ax, [bx]mov ax, [bx+si]mov ax, [bx+di]mov ax, [bp]mov ax, ...…
-
汇编语言 第七章总结 实验6 Debug跟踪问题7.9
问题7.9编程,将datasg段中每个单词的前4个字母改为大写字母。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. replace ' db '4. modify 'datasg endscodesg seg...…
-
python 类和对象 (5) 一些相关的BIF
整理自小甲鱼鱼C论坛对类或者对象从属判断的内置函数issubclass(class, classinfo)如果第一个参数(class)是第二个参数(classinfo)的一个子类,返回True否则返回False 一个类被认为是其自身的子类 classinfo可以是一个类对象组成的元组,只要class是其中任何一个候选类的子类,则返回True 其他情况会抛出TypeErrorisinstance(object, classinfo)如果第一个参数(object)是第二个参数(class...…
-
python 类和对象 (4) 组合 Mixin 类,类对象与实例对象 绑定
整理自小甲鱼鱼C论坛组合所谓”组合”,可以理解为相对于继承来讲的一个概念。有些时候,利用多重继承本身除了存在风险的同时,在有些时候,如果类本身并不存在明显的相互继承关系,强行继承会很别扭。比如定义了两个类,小鸟和老鹰后,我们想定义一个新的类,天空,天空中包含小鸟和老鹰,奈何天空和小鸟和老鹰本身并不存在继承关系,这时就适合用组合来解决这个问题。当执行组合时,我们将需要的类放进目的类中进行实例化,就可以实现组合,例如代码:class Bird(): def __init__(self, ...…
-
汇编语言 7.10 不同寻址方式的灵活运用(2)
7.10 不同寻址方式的灵活运用(2)上次提到的代码会出现死循环,下面来分析具体原因以及如何解决。回顾代码:codesg segment start: mov ax, datasg mov ds, ax mov bx, 0 mov cx, 4 s0: mov si, 0 ;外层循环 mov cx, 3 s: mov al, [bx+si] ;内层循环 an...…
-
The interaction between the electron and the sample
Let’s firstly try to analysis the process, during which the single primary electron shot by the high velocity hits at one atom of the sample.There were three situations:Situation 1. As seen in the (a). The primary electron is unscattered, and noth...…
-
python 类和对象 (3) 继承 super函数 多重继承 钻石继承
整理自小甲鱼鱼C论坛继承继承的语法为:class DerivedClassName(BaseClassName):注意的是,如果子类中定义了与父类相同的方法或者属性,会自动覆盖父类的方法或者属性。例如如下代码:import random as rclass Fish: def __init__(self): self.x = r.randint(0, 10) self.y = r.randint(0, 10) def move(self): ...…
-
汇编语言 7.10 不同寻址方式的灵活运用 (1)
7.10 不同寻址方式的灵活运用(1)之前有介绍过几种定位内存地址的方法(寻址方式): [idata]用一个常量来表示内存地址,可用于直接定义一个内存单元,注意的是,单独使用[idata]只能在debug中被正确识别,如果在masm中,需要表明[idata]对应的段,即ds:[idata]。 [bx]用一个变量来表示内存地址,可用于间接定位一个内存单元。其使用时不用表明对应的段,默认[bx]就是在ds中。 [bx+idata]。 [bx+si]。 [bx+si+idata]用两个...…
-
汇编语言 7.7 7.8 7.9 SI DI, [bx+si+idata] [bx+di+idata]
7.7 SI 和 DIsi和di在8086CPU中与bx的功能非常相似,唯一不同的是si和di均不能被拆成两个8位寄存器来使用,如bx = bh + bl, 但si, di不能这样拆成h和l。 问题: 用si和di实现将字符串’welcome to masm!’复制到它后面的数据区中。assume cs:codesg, ds:datasgdatasg segment db 'welcome to masm!' db '................'datasg ends首先就要确...…