- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 汇编:call指令的应用
assume cs:code, ds:data, ss:stackdata segment db 128 dup(0)data endsstack segment db 128 dup(0)stack endscode segment start: mov ax, data mov ds, ax mov ax, stack mov ss,ax ...
2018-12-30 21:59:24 1196
原创 汇编:call指令
1. call 标号, (机器码中包含了位移) 执行call指令,相当于执行下面两条指令 push ip jmp near ptr 标号 2. call far ptr 标号, (机器码中包含转移的目的地址) push cs(call指令的下一条指令的cs地址) push ip(call指令的下一条指令的ip地址) jmp fa...
2018-12-28 22:48:20 4176 1
原创 Oracle: 数字前面自动补0几种方式
1. TO_NUMBER(TO_CHAR(NVL(BRSY, 0) * 100, 'FM9999999999999')) 2. select lpad('1',4,'0') from dual;3. to_char(1,'fm0000') 4. to_char(123, 'fm0999')
2018-12-28 12:06:52 20655
原创 汇编:ret以及retf指令
执行ret指令,相当于执行pop ip执行retf指令,相当于执行pop ip,pop cs assume cs:code, ds:data, ss:stack ; 设置数据段data segment db 128 dup (0)data ends ; 设置栈段stack segment stack db 128 dup (0)stack ends ; 设置代...
2018-12-28 00:04:29 2581
原创 python五十一:动态导入模块,通过字符串导入模块
目录结构如下: # 动态导入模块方式一:byd = __import__("car.BYD") # 返回的是最顶层的模块print(byd)# byd.run()byd.BYD.run() # byd是最顶层的模块,所以还要通过 .BYD找到BYD模块# 动态导入模块方式二:import importlibbyd = importlib.import_modul...
2018-12-24 00:48:26 400
原创 汇编:转移目的地址在内存中
assume cs:code, ds:data, ss:stack; 设置数据段data segment db 128 dup (0)data ends; 设置栈段stack segment stack db 128 dup (0)stack ends; 设置代码段code segment start: mov ax, stack mov ss, ax mov...
2018-12-23 21:35:37 442
原创 汇编:转移目的地址在机器码或寄存器中
assume cs:code, ds:datadata segment db 128 dup (0)data endscode segment start: mov ax, data mov ds, ax jmp far ptr s mov ax, 1000H mov bx, 1000H db 250 dup (0) s: mov ax...
2018-12-23 21:06:09 457
原创 汇编:JCXZ条件转移指令
jcxz = j:jmp cx:cx寄存器 z:zero(当cx寄存器中的值为0时,进行跳转)jcxz指令与loop指令正好相反.loop指令:当cx寄存器的值不等于0时,才进行跳转. 所有的条件转移指令都是短转移,位移范围是(-128~127), 经过编译后,机器码中包含了位移的范围。 EBXX, XX就是转移的字节长度, 这个XX是在编译器编译时候计算的。计算公式是:...
2018-12-23 18:22:31 3037
原创 汇编:JMP指令原理
cpu执行指令步骤: 1. 从cs和ip所组合出来的地址读取指令,将指令存放到指令缓存器中 2. 改变ip寄存器,ip = ip+所读指令的字节数 3.执行指令缓存器中的内容,跳转到第1步assume cs:code, ds:datadata segment db 128 dup (0)data endsstack segment db 128 dup (...
2018-12-23 16:26:11 7023
原创 汇编: OFFSET操作符
OFFSET 找到标记位置的操作符assume cs:code, ds:datadata segment db 128 dup (0) data endsstack segment db 128 dup (0)stack endscode segment start: mov ax, bx mov ax, data mov ds, ax mov ...
2018-12-23 15:48:02 22838 5
原创 汇编: dup伪指令
dup可以重复定义前面的数据 assume cs:code, ds:datadata segment db 10 dup (0) ; 连续定义10个字节型的0 db 1,2,3,4,5,6 db 10 dup ('a') db 6,5,4,3,2,1 db 4 dup('123','abc')data endscode segment start...
2018-12-21 00:30:40 18227 2
原创 java: BigDecimal 调用add后,求和结果没有变化
BigDecimal使用add时,原数没有不变。 BigDecimal 的 add方法是,调用者不变。因此,对结果进行接收。改为如下package com.baobaotao;import java.math.BigDecimal;public class bigTest { public static void main(String[] args){ ...
2018-12-20 17:06:21 1312
原创 汇编:dd 伪指令
db: define byte 8bitdw: define word 16bitdd: define dword(double word), 双字形 32bitassume cs:code, ds:data, ss:stackdata segment dd 100001 dw 100 db 0data ends...
2018-12-20 12:42:02 4490
原创 汇编:div 除法指令
assume cs:code, ds:data, ss:stackdata segment db 0,1,2,3,4,5,6,7data endsstack segment dw 0,0,0,0,0,0,0,0stack endscode segment start: mov ax, data mov ds...
2018-12-18 22:51:39 4130
原创 汇编:数据长度
1. 通过寄存器可以确定数据的长度2. 也可以通过 word ptr, byte ptr确定数据的长度.assume cs:code, ds:data, ss:stackdata segment db 0FFH, 0FFH, 0FFH, 0FFH, 0FFH db 0FFH, 0FFH, 0FFH, 0FFH, 0FFH db 0FFH, 0FFH, 0FF...
2018-12-18 22:04:05 1137
原创 汇编:以字符形式给出数据
用单引号括起来,表示字符assume cs:code , ds:datadata segment db 65,66,67,68,69 db 'abc123 lmn' data endscode segment start: mov ax, data mov ds, ax mov bx, 0 ...
2018-12-16 11:56:15 355
原创 汇编: and,or逻辑运算指令
assume cs:codecode segment ; 逻辑运算 按照二进制位运算 start: mov ax,0 mov al, 00001111B and al, 11110000B ; 00000000B ...
2018-12-16 10:57:39 4124
原创 汇编: 更灵活的定位内存地址的方法
bx是偏移地址寄存器。同样的, si,di也是偏移地址寄存器。 这样使用了si,di可以更灵活的定位内存地址。assume cs:codecode segment start: mov bx,0 mov si,0 mov ax,ds:[si] inc si...
2018-12-16 10:41:59 295
原创 c: realloc()函数解析
realloc(void *__ptr, size_t __size):更改已经配置的内存空间,即更改由malloc()函数分配的内存空间的大小。如果将分配的内存减少,realloc仅仅是改变索引的信息。如果是将分配的内存扩大,则有以下情况:1)如果当前内存段后面有需要的内存空间,则直接扩展这段内存空间,realloc()将返回原指针。2)如果当前内存段后面的空闲字节不够,那么就使...
2018-12-15 17:37:15 361
原创 汇编: 在代码中安排自己定义的数据,栈空间
assume cs:codecode segment dw 1,2,3,4,5,6,7,8 ; 我们自定义的数据 不是我们自定义的指令 ; d:define w:wordstart: mov bx,0 mov ax,0 mov cx,8; 将数据相加addNumber: add ax,cs:[bx] add bx,2...
2018-12-09 14:31:05 607
libfastcommon-master.zip
2020-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人