汇编指令test的用法

汇编指令test的用法,第1张

test指令和and指令执行同样的 *** 作,但test指令不送回 *** 作结果,而仅仅影响标志位。testal,01如al的最低位为1,则zf=0,否则zf=1test指令

这类指令主要影响ZF标志位testax,100b将ax的值和100b进行“与” *** 作,但不改变ax本身若与 *** 作的结果为零则ZF置位。

扩展资料:

汇编指令是汇编语言中使用的一些 *** 作符和助记符,还包括一些伪指令(如assume,end)。用于告诉汇编程序如何进行汇编的指令,它既不控制机器的 *** 作也不被汇编成机器代码,只能为汇编程序所识别并指导汇编如何进行。

通用数据传送指令

MOV传送字或字节。

MOVSX先符号扩展,再传送。

MOVZX 先零扩展,再传送。

PUSH把字压入堆栈

POP把字d出堆栈。

PUSHA把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈。

POPA把DI,SI,BP,SP,BX,DX,CX,AX依次d出堆栈。

PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈。

POPAD把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次d出堆栈。

BSWAP交换32位寄存器里字节的顺序。

XCHG交换字或字节.(至少有一个 *** 作数为寄存器,段寄存器不可作为 *** 作数)。

CMPXCHG比较并交换 *** 作数.(第二个 *** 作数必须为累加器AL/AX/EAX)。

XADD先交换再累加.(结果在第一个 *** 作数里)。

XLAT字节查表转换。

参考资料来源:百度百科-汇编指令

@是注解

@Test注解是JUnit测试的基础,它提供了其他作用

1.指定将会抛出的异常类型,如果没有抛出异常或者抛出的一场不属于我们指定的类型,就会算是测试失败了。

@Test(expected = RuntimeException.class)

public void testGetHandlerNotDefined() {

SampleRequest request = new SampleRequest("testNotDefined")

// The following line is supposed to throw a RuntimeException

controller.getHandler(request)

}

2.测试一断代码运行时间。

@Test(timeout=100)

public void testProcessMultipleRequestsTimeout() {

Request request

Response response = new SampleResponse()

RequestHandler handler = new SampleHandler()

for (int i = 0i <99999i++) {

request = new SampleRequest(String.valueOf(i))

controller.addHandler(request, handler)

response = controller.processRequest(request)

Assert.assertNotNull(response)

Assert.assertNotSame(ErrorResponse.class, response.getClass())

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11280991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存