📄 branch.s
字号:
.SPACE $PRIVATE$ .SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31 .SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82 .SPACE $TEXT$ .SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44 .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY .SPACE $TEXT$ .SUBSPA $CODE$ .align 4; More branching instructions than you ever knew what to do with.;; We could/should test some of the corner cases for register and ; immediate fields. We should also check the assorted field; selectors to make sure they're handled correctly.branch_tests: bl branch_tests,%r2 bl,n branch_tests,%r2 b branch_tests b,n branch_tests gate branch_tests,%r2 gate,n branch_tests,%r2 blr %r4,%r2 blr,n %r4,%r2 blr %r4,%r0 blr,n %r4,%r0 bv 0(%r2) bv,n 0(%r2) be 0x1234(%sr1,%r2) be,n 0x1234(%sr1,%r2) ble 0x1234(%sr1,%r2) ble,n 0x1234(%sr1,%r2)movb_tests: movb %r4,%r26,movb_tests movb,= %r4,%r26,movb_tests movb,< %r4,%r26,movb_tests movb,od %r4,%r26,movb_tests movb,tr %r4,%r26,movb_tests movb,<> %r4,%r26,movb_tests movb,>= %r4,%r26,movb_tests movb,ev %r4,%r26,movb_testsmovb_nullified_tests: movb,n %r4,%r26,movb_tests movb,=,n %r4,%r26,movb_tests movb,<,n %r4,%r26,movb_tests movb,od,n %r4,%r26,movb_tests movb,tr,n %r4,%r26,movb_tests movb,<>,n %r4,%r26,movb_tests movb,>=,n %r4,%r26,movb_tests movb,ev,n %r4,%r26,movb_testsmovib_tests: movib 5,%r26,movib_tests movib,= 5,%r26,movib_tests movib,< 5,%r26,movib_tests movib,od 5,%r26,movib_tests movib,tr 5,%r26,movib_tests movib,<> 5,%r26,movib_tests movib,>= 5,%r26,movib_tests movib,ev 5,%r26,movib_testsmovib_nullified_tests: movib,n 5,%r26,movib_tests movib,=,n 5,%r26,movib_tests movib,<,n 5,%r26,movib_tests movib,od,n 5,%r26,movib_tests movib,tr,n 5,%r26,movib_tests movib,<>,n 5,%r26,movib_tests movib,>=,n 5,%r26,movib_tests movib,ev,n 5,%r26,movib_testscomb_tests: comb %r0,%r4,comb_tests comb,= %r0,%r4,comb_tests comb,< %r0,%r4,comb_tests comb,<= %r0,%r4,comb_tests comb,<< %r0,%r4,comb_tests comb,<<= %r0,%r4,comb_tests comb,sv %r0,%r4,comb_tests comb,od %r0,%r4,comb_tests comb,tr %r0,%r4,comb_tests comb,<> %r0,%r4,comb_tests comb,>= %r0,%r4,comb_tests comb,> %r0,%r4,comb_tests comb,>>= %r0,%r4,comb_tests comb,>> %r0,%r4,comb_tests comb,nsv %r0,%r4,comb_tests comb,ev %r0,%r4,comb_testscomb_nullified_tests: comb,n %r0,%r4,comb_tests comb,=,n %r0,%r4,comb_tests comb,<,n %r0,%r4,comb_tests comb,<=,n %r0,%r4,comb_tests comb,<<,n %r0,%r4,comb_tests comb,<<=,n %r0,%r4,comb_tests comb,sv,n %r0,%r4,comb_tests comb,od,n %r0,%r4,comb_tests comb,tr,n %r0,%r4,comb_tests comb,<>,n %r0,%r4,comb_tests comb,>=,n %r0,%r4,comb_tests comb,>,n %r0,%r4,comb_tests comb,>>=,n %r0,%r4,comb_tests comb,>>,n %r0,%r4,comb_tests comb,nsv,n %r0,%r4,comb_tests comb,ev,n %r0,%r4,comb_testscomib_tests: comib 0,%r4,comib_tests comib,< 0,%r4,comib_tests comib,<= 0,%r4,comib_tests comib,<< 0,%r4,comib_tests comib,<<= 0,%r4,comib_tests comib,sv 0,%r4,comib_tests comib,od 0,%r4,comib_tests comib,tr 0,%r4,comib_tests comib,<> 0,%r4,comib_tests comib,>= 0,%r4,comib_tests comib,> 0,%r4,comib_tests comib,>>= 0,%r4,comib_tests comib,>> 0,%r4,comib_tests comib,nsv 0,%r4,comib_tests comib,ev 0,%r4,comb_testscomib_nullified_tests: comib,n 0,%r4,comib_tests comib,=,n 0,%r4,comib_tests comib,<,n 0,%r4,comib_tests comib,<=,n 0,%r4,comib_tests comib,<<,n 0,%r4,comib_tests comib,<<=,n 0,%r4,comib_tests comib,sv,n 0,%r4,comib_tests comib,od,n 0,%r4,comib_tests comib,tr,n 0,%r4,comib_tests comib,<>,n 0,%r4,comib_tests comib,>=,n 0,%r4,comib_tests comib,>,n 0,%r4,comib_tests comib,>>=,n 0,%r4,comib_tests comib,>>,n 0,%r4,comib_tests comib,nsv,n 0,%r4,comib_tests comib,ev,n 0,%r4,comib_testsaddb_tests: addb %r1,%r4,addb_tests addb,= %r1,%r4,addb_tests addb,< %r1,%r4,addb_tests addb,<= %r1,%r4,addb_tests addb,nuv %r1,%r4,addb_tests addb,znv %r1,%r4,addb_tests addb,sv %r1,%r4,addb_tests addb,od %r1,%r4,addb_tests addb,tr %r1,%r4,addb_tests addb,<> %r1,%r4,addb_tests addb,>= %r1,%r4,addb_tests addb,> %r1,%r4,addb_tests addb,uv %r1,%r4,addb_tests addb,vnz %r1,%r4,addb_tests addb,nsv %r1,%r4,addb_tests addb,ev %r1,%r4,addb_testsaddb_nullified_tests: addb,n %r1,%r4,addb_tests addb,=,n %r1,%r4,addb_tests addb,<,n %r1,%r4,addb_tests addb,<=,n %r1,%r4,addb_tests addb,nuv,n %r1,%r4,addb_tests addb,znv,n %r1,%r4,addb_tests addb,sv,n %r1,%r4,addb_tests addb,od,n %r1,%r4,addb_tests addb,tr,n %r1,%r4,addb_tests addb,<>,n %r1,%r4,addb_tests addb,>=,n %r1,%r4,addb_tests addb,>,n %r1,%r4,addb_tests addb,uv,n %r1,%r4,addb_tests addb,vnz,n %r1,%r4,addb_tests addb,nsv,n %r1,%r4,addb_tests addb,ev,n %r1,%r4,addb_testsaddib_tests: addib -1,%r4,addib_tests addib,= -1,%r4,addib_tests addib,< -1,%r4,addib_tests addib,<= -1,%r4,addib_tests addib,nuv -1,%r4,addib_tests addib,znv -1,%r4,addib_tests addib,sv -1,%r4,addib_tests addib,od -1,%r4,addib_tests addib,tr -1,%r4,addib_tests addib,<> -1,%r4,addib_tests addib,>= -1,%r4,addib_tests addib,> -1,%r4,addib_tests addib,uv -1,%r4,addib_tests addib,vnz -1,%r4,addib_tests addib,nsv -1,%r4,addib_tests addib,ev -1,%r4,comb_testsaddib_nullified_tests: addib,n -1,%r4,addib_tests addib,=,n -1,%r4,addib_tests addib,<,n -1,%r4,addib_tests addib,<=,n -1,%r4,addib_tests addib,nuv,n -1,%r4,addib_tests addib,znv,n -1,%r4,addib_tests addib,sv,n -1,%r4,addib_tests addib,od,n -1,%r4,addib_tests addib,tr,n -1,%r4,addib_tests addib,<>,n -1,%r4,addib_tests addib,>=,n -1,%r4,addib_tests addib,>,n -1,%r4,addib_tests addib,uv,n -1,%r4,addib_tests addib,vnz,n -1,%r4,addib_tests addib,nsv,n -1,%r4,addib_tests addib,ev,n -1,%r4,addib_tests; Needs to check lots of stuff (like corner bit cases)bb_tests: bvb,< %r4,bb_tests bvb,>= %r4,bb_tests bvb,<,n %r4,bb_tests bvb,>=,n %r4,bb_tests bb,< %r4,5,bb_tests bb,>= %r4,5,bb_tests bb,<,n %r4,5,bb_tests bb,>=,n %r4,5,bb_tests
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -