今天在這裡:
先列印這cpsr;通過一條未定義指令,進入異常處裡,列印cpsr,又回到之前的那個模式;然後再列印cpsr
test.c=>vector.s=>test.c==>結束
test.c如下:
int (*printf)(char *,...) = (void *)0x57e11d4c;//將乙個函式指標指向0x57e11d4c的位址。
int main()
vector.s如下:
mov sp,#0x56000000 //在記憶體中的0x56000000中開闢乙個棧空間。
mov ip,sp
s***b sp!,
sub fp,ip,#4
mrs r1,cpsr //在r1與r2 中放printf的兩個引數。
and r1,r1,#0x1f
ldr r0,=string
ldr r2,printf
blx r2
mov sp,#0x56000000
ldmdb sp,^
string:
.asciz "hello unfined mod is %x\n"printf:.align 2
.word 0x57e11d4cmakefile如下:
all:
arm-none-linux-gnueabi-gcc -c vetor.s -o vetor.oarm-none-linux-gnueabi-ld -ttext=0x4 vetor.o -o vetor//上面有一張表未定義指令位址為0x4
arm-none-linux-gnueabi-objcopy -ielf32-littlearm -o binary vetor vetor.bin
cp vetor.bin /tftpboot/
arm-none-linux-gnueabi-gcc -c test.c -o test.oclean:arm-none-linux-gnueabi-ld -ttext=0x50000000 test.o -o test
arm-none-linux-gnueabi-objcopy -ielf32-littlearm -o binary test test.bin
cp test.bin /tftpboot/
rm -rf *.o *.bin /tftpboot/*.bin最後的列印結果如下:
併發單例模式小總結
單例模式,設計模式中最常用也是最簡單的一種的設計模式。設計模式的作用或者說使用場合想必大家都知道,主要用在實際應用只需要例項化一次的場合,網上的例子也很多,什麼印表機的例子等等。我在專案中也是用過單例模式,當時是由於專案需要,需要在應用中動態配置資料庫連線池,而這種資料庫連線池的配置就只需要在單例模...
小桐學設計模式 單例模式
單例模式分為兩種,懶漢式和餓漢式。首先看懶漢式 public class a public static a getinstance return a 再來看餓漢式。public class a public static a getinstance 懶漢式在執行getinstance方法時,判斷條...
小話設計模式(一)單例模式
那麼具體要求是什麼樣的呢?簡而言之,在程式執行期間,單例類的例項只能有乙個 或沒有 恩?說好的是類似於全域性變數的東西呢?當然為了能在程式任何地方呼叫它,需要為它實現乙個靜態方法 例如getinstance 通過這個方法可以獲得單例類的唯一例項。廢話不多說直接上c public class sing...