曲曲的秘密学术基地

纯化欲望、坚持严肃性

欢迎!我是曲泽慧(@zququ),目前在深圳(ICBI,BCBDI,SIAT)任职助理研究员。


病毒学、免疫学及结构生物学背景,可以在 RG 上找到我已发表的论文

本站自2019年7月已访问web counter

汇编语言 实验5 第二部分

代码1、编写代码段代码,将a段和b段中的数据依次相加,将结果存到c段中。

assume cs:code

a segment
    db 1, 2, 3, 4, 5, 6, 7, 8
a ends

b segment
    db 1, 2, 3, 4, 5, 6, 7, 8
b ends

c segment
    db 0, 0, 0, 0, 0, 0, 0, 0
c ends

code segment

start:  mov ax, a
        mov ds, ax
        mov ax, b
        mov es, ax

        mov bx, 0

        mov cx, 8
        
s:      mov al, ds:[bx]    ;将ax中的数据移到段寄存器al中
        add es:[bx], al    ;将al中的a数据与es中的b相加
        inc bx
        loop s

        mov ax, c
        mov ds, ax

        mov bx, 0

        mov cx, 8

s0:     mov al, es:[bx]
        mov ds:[bx], al
        inc bx
        loop s0

        mov ax, 4c00h
        int 21h

code ends
end start

代码二、编写代码段中的代码,用push指令将a段中的前8个字型数据,逆序存储到b段中。

assume cs:code

a segment
    dw 1, 2, 3, 4, 5, 6, 7, 8, 9, 0ah, 0bh, 0ch, 0dh, 0eh, 0fh, 0ffh
a ends

b segment
    dw 0, 0, 0, 0, 0, 0, 0, 0
b ends

code segment

start:  mov ax, a
        mov ds, ax
        mov ax, b

        mov bx, 0
        mov ss, ax
        mov sp, 16  ;设置栈顶指向b:16

        mov cx, 8
s:      push ds:[bx]
        add bx, 2   ;注意push每次两个字节
        loop s

        mov bx, 0
        mov ss, ax
        mov sp, 0

        mov cx, 8
s0:     pop ds:[bx]
        add bx, 2
        loop s0

code ends
end start
Last One

汇编语言 7.1 7.2 7.3 7.4 and or, ASCII, 按字符给出数据, 大小写转化

7.1 and和or指令and 指令mov al, 01100011Bmov al, 00111011B;结果为 al = 00100011B通过该指令可将操作对象的相应位设为0,其他不变。如将al的第六位设置为零的指令为:and al, 10111111Bor 指令mov al, 01100011Bor al, 00111011B;结果为 al = 01111011B通过该指令可将操作对象的相应位设置为1,其他位不变。如将al的第六位设置为1的指令为:or al, 09000000B7....…

汇编语言More
Next One

python 类和对象 (1)

整理自小甲鱼鱼C论坛对象 = 属性 + 方法代码示例:class Turtle: # Python 中的类名(class)约定以大写字母开头 # 特征的描述成为属性(attribute),在代码层面来看就是变量 color = 'green' weight = 10 legs = 4 shell = True # 方法(method)就是函数,通过调用这些函数来完成工作 def run(self): print("我正在...…

pythonMore